ステートメントの中で:
StringBuffer[]stringBuffers = new StringBuffer[10];
これで、10個の要素の配列が作成されました。ただし、要素は含まれていません。この配列の各要素はまだ空であり、デフォルトでは。が含まれていますnull
。
だからあなたが電話したとき
stringBuffers[i].append("StringBuffer at index " + i);
ここで stringBuffers[i]
はまだ初期化されておらず、を指していnull
ます。
だからそれは与えていますjava.lang.NullPointerException.
他の回答で述べられているように、あなたがこれを好きなら:
for(int i =0; i< stringBuffers.length;i++){
stringBuffers[i] = new StringBuffer();
これにより、stringBuffer配列の各要素が、StringBufferオブジェクトへの参照で初期化されます。したがって、stringBuffer[i]は空ではなくなります。
ちなみに、StringBuilderを使用する必要があります。StringBufferとStringBuilderはどちらも、変更可能な文字列を提供します。StringBufferは、アプリケーションがマルチスレッド環境で実行されている場合にのみ使用してください。パフォーマンスのオーバーヘッドが発生するためです。