0

[2][5] の文字列配列を宣言しています。その時点まではすべて問題ありません。配列に物を挿入できます。

しかし、配列に整数値を挿入すると、その int 値の前に「null」キーワードが自動的に追加されます。

では、arrayName[1][0] に 5 を挿入したとします。後で印刷すると、「null5」が表示されます。これは奇妙です。

問題は何だと思いますか。ありがとう、C@N。

4

3 に答える 3

4

アイテムを追加するために使用している場合+=、これが発生する可能性があると思います。使用するString.valueOf()

于 2012-04-05T07:05:57.577 に答える
1

これが起こっていることを確認できる唯一の方法は、+= を使用する場合です。

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]);
于 2012-04-05T07:05:47.840 に答える
0

String 変数を使用している場合は、myString (デフォルト値が null のインスタンス変数として) と言って、次のようなことを行います -

int i=5;
myString = myString+i;

String mystring を初期化していないため、デフォルト値nullを取得し、i で加算します。

これは状況の 1 つかもしれません。

于 2012-04-05T07:26:26.093 に答える