cari

Rumah  >  Soal Jawab  >  teks badan

Java中不能在声明数组大小的同时初始化的根本原因是什么?

找了一下发现网上只说就这么定义的,哪位大神能帮忙解释一下根本原因?
是不是能从虚拟机的角度解释一下?
谢谢啦!

eg.

String s[] = new String[] {"1","2","3"};正确
String s[] = {"1","2","3"};正确
String s[] = new String[3] {"Zero","One","Two"};错误
PHP中文网PHP中文网2822 hari yang lalu707

membalas semua(3)saya akan balas

  • 阿神

    阿神2017-04-17 17:27:34

    Permulaan tatasusunan adalah untuk mendapatkan kapasiti tetap tatasusunan Kaedah
    {"","""}} boleh mendapatkan kapasiti tetap tatasusunan dan menetapkan nilai kepada setiap elemen

    String baharu[3] juga boleh memberitahu pengkompil kapasiti tetap tatasusunan, dan dengan cara ini, tetapkan setiap elemen kepada null,

    Walau bagaimanapun, kedua-dua kaedah untuk menentukan kapasiti tetap tatasusunan pada masa yang sama boleh menyebabkan konflik dalam sintaks,

    Sebagai contoh, Rentetan baharu[4]{"","",""},

    Jadi untuk mengelakkan kekaburan sedemikian, cara penulisan ini yang juga mengawal kapasiti tatasusunan harus dilarang secara sintaksis

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:27:34

    Tatabahasa ditetapkan dengan cara ini. . .
    Ia tiada kaitan dengan mesin maya

    https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.10.1

    balas
    0
  • 高洛峰

    高洛峰2017-04-17 17:27:34

    Tatasusunan digunakan untuk kawasan memori saiz tetap

    balas
    0
  • Batalbalas