你光建立了一个存放StringBuffer的数组,但是其中每个StringBuffer你还没有new呢,所以出错,应该改为
public class WhatHappens {
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);
}
}
}
public class WhatHappens {
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);
}
}
}
另外,我感觉(看书之后,没特别记住)StringBuffer一般应对在不太变化的情况,String则相反,也可能记反了,看看think in java吧!
这个例子试验有余,实用性不足~
作为StringBuffer数组你只是初始化了这个数组,里面的每个StringBuffer对象还没初始化呢!~当然抱错。