作业帮 > 综合 > 作业

定义了StringBuffer数组,为什么还要创建string buffers

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 08:01:26
定义了StringBuffer数组,为什么还要创建string buffers
如下程序:
public class ThisHappens {
public static void main(String[] args) {
StringBuffer[] stringBuffers = new StringBuffer[10];
for (int i = 0; i < stringBuffers.length; i ++) {
stringBuffers[i] = new StringBuffer();
stringBuffers[i].append("StringBuffer at index " + i);
}
}
}
既然已经new StringBuffer[10]了,为什么还要加这句stringBuffers[i] = new StringBuffer();
StringBuffer[] stringBuffers = new StringBuffer[10];
这只是声明了 10个 StringBuffer 的变量 并没有创建对象
stringBuffers[i] = new StringBuffer(); 这是给变量创建对象
换个好明白点的:
String[] a = new String[10];
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]);
}
这样输出的 都是 null
说明 String[] a = new String[10]; 这只是声明
并没真正的创建对象.所以都是null.
String[] a = new String[10];
for (int i = 0; i < a.length; i++) {
a[i] = new String();
System.out.print(a[i]);
}
加上一句后就不会输出null了,什么也没输出
其实输出的都是些空字符,因为没附值 .
说明真正的对象
是在这创建的
所以你那个 stringBuffers[i] = new StringBuffer();
是不能少的 作用是创建对象 .