[2][5] の文字列配列を宣言しています。その時点まではすべて問題ありません。配列に物を挿入できます。
しかし、配列に整数値を挿入すると、その int 値の前に「null」キーワードが自動的に追加されます。
では、arrayName[1][0] に 5 を挿入したとします。後で印刷すると、「null5」が表示されます。これは奇妙です。
問題は何だと思いますか。ありがとう、C@N。
アイテムを追加するために使用している場合+=
、これが発生する可能性があると思います。使用するString.valueOf()
これが起こっていることを確認できる唯一の方法は、+= を使用する場合です。
String[] a = new String[1];
a[0] += 1;
System.out.println(a[0]);
単に使用a[0] = 1;
すると、コンパイルエラーが発生します。null5 を取得する理由は、文字列「null」を 5 と連結しているためです。
a[0] = (String) null + 1
問題は、何を達成しようとしているのかということです。単に値を設定するか、値を追加するだけですか?
設定するだけの場合は、次を使用します。
String[] a = new String[1];
a[0] = Integer.toString(1);
System.out.println(a[0]);
それに追加したい場合:
String[] a = new String[1];
if (a[0] == null) {
a[0] = Integer.toString(1);
} else {
a[0] += 1;
}
System.out.println(a[0]);
String 変数を使用している場合は、myString (デフォルト値が null のインスタンス変数として) と言って、次のようなことを行います -
int i=5;
myString = myString+i;
String mystring を初期化していないため、デフォルト値nullを取得し、i で加算します。
これは状況の 1 つかもしれません。