0

だから私はJavaでプログラムに取り組んでおり、それを実行するたびに「スレッド「メイン」java.lang.NullPointerExceptionで例外」というエラーが発生します。よく見ると、参照変数の配列が原因のようです。問題の原因となっているコードは次のとおりです。

    public class agendafunctions {
static String input = "true";
agendaitem item[] = new agendaitem[5];
public agendafunctions() {
    item[0].name = "one";
    item[1].name = "two";
    item[2].name = "three";
    item[3].name = "four";
    item[4].name = "five";
}

name は、アジェンダアイテム クラスの変数です。私が他の場所で読んだことから、エラーはプログラムがnull値で変数を使用しようとしたことが原因です。しかし、値を追加すると、文字列などからアジェンダアイテム型に変換できないと表示されます。誰でも助けることができますか?

4

2 に答える 2

8

最初にこれらのオブジェクトをインスタンス化する必要があります。オブジェクトの配列を宣言すると、null の配列が得られます。これらの null にプロパティを設定しようとすると、NullPointerException が発生します。

名前を設定する前に、次を実行する必要があります。

for (int i = 0; i < item.length; i++)
    item[i] = new agendaitem();

また、適切な Java スタイルを遵守するために、クラス名を AgendaItem に変更する必要があります。

于 2013-09-01T01:31:22.973 に答える
0

使用する前にこれを追加してみてください:

for(int i = 0; i< item.length; i++) {
    item[i] = new agendaitem();
}

オブジェクトの配列を作成すると、その値はすべて null になります (プリミティブはデフォルトのプリミティブ値です)。各インデックスを使用する前に、手動で (またはループを介して) 初期化する必要があります。

于 2013-09-01T01:32:52.793 に答える