可以创建为阵基元或对象初始化
//合格声明和初始化
line 1: String[]s = new String[2];
line 2: String[]s = new String[]{"a","b"};
//下面的init也对我来说很好,但是编译器错误出
line 3: String[] s = new String[2] { "a", "b" };
1)为什么不能指定数组的大小第3行?
2)当我使用第3行创建一个数组时,在堆或字符串池中创建了字符串“a”和“b”吗?
那应该是程序员的选择吗?就像在Java 7中允许钻石运算符声明和定期声明(java 6样式) – 2013-02-20 19:42:25
不仅会是多余的,而且编译器也必须检查像'String [] s = new String [2] {“a “,”b“,”c“};' – jlordo 2013-02-20 19:43:20
@jlordo所有冗余都会导致错误:) – 2013-02-20 19:43:43