””,””,””,””};
String[] str = {“”,””,””,””,””};
String数组初始化区别
首先应该明白java数组里面存的是对象的引用,所以必须初始化才能用...更不可能像有些人想当然说的在栈上分配空间,Java的对象都是在堆上分配空间的。
...这里的区别仅仅是代码书写上的:
String[] str = {“1″,”2″,”3”}; 这种形式叫数组初始化式(ArrayInitializer),只能用在声明同时赋值的情况下。
...str = new String[]{“1″,”2″,”3”} // 也是正确的
而
String[] str;
str = {“1″,”2″,”3”}; // 编译错误
因为数组初始化式只能用于声明同时赋值的情况下...PS:
笔者所犯错误为在初始化数组的时候定义为String[] str = newString[]{},如此定义相当于创建了创建一个长度为0的String(字符串)型的一维数组。