繁体   English   中英

使用Java中的{}进行数组初始化

[英]Array Initialization using { } in Java

我们可以像这样初始化一个数组:

int myArray[][] = { {10,20} ,{30,40} , {50} };

它工作正常。

但我遇到了一个特殊的情况。

int myAnotherArray[][] = { {,} ,{,} , {,} };

上面的代码行编译得很好 根据我的说法很奇怪。 因为当编译器解析这个语句时,它会同时遇到{, } 编译器不应期望中间的常量或字面值吗? 如果有人告诉我如何解析上述语句以及编译器在遇到这种情况时究竟做了什么,我将不胜感激。

这只是一个事实的怪癖,语法允许尾随逗号。

允许尾随逗号对于生成诸如{ 0, 1, }等内容的代码生成器是友好的{ 0, 1, }并允许您例如方便地注释掉最后一行

int[] myArray = {
    0,
//  1
};

(正如你可能已经想到的那样,尾随,被忽略,即{ , }产生一个空数组。)

相关问题:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM