我正在聲明[2] [5]的字符串數組。直到那時,一切都很好。我可以將東西插入到數組中。[Java]字符串數組中的空值插入int時
但是,當我向數組中插入一個整數值時,在該int值之前會自動添加'null'關鍵字。
所以我們假設我將5插入到arrayName [1] [0]中。當我打印後,我得到'null5'。這很奇怪。
你們究竟認爲問題是什麼。謝謝,C @ N。
我正在聲明[2] [5]的字符串數組。直到那時,一切都很好。我可以將東西插入到數組中。[Java]字符串數組中的空值插入int時
但是,當我向數組中插入一個整數值時,在該int值之前會自動添加'null'關鍵字。
所以我們假設我將5插入到arrayName [1] [0]中。當我打印後,我得到'null5'。這很奇怪。
你們究竟認爲問題是什麼。謝謝,C @ N。
我可以看到這種情況發生的唯一方法是,如果你使用+ =:
String[] a = new String[1];
a[0] += 1;
System.out.println(a[0]);
因爲如果你只是用a[0] = 1;
你會得到編譯錯誤。 你null5的原因是因爲你有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-05 14:38:33
,那麼我認爲這可能會發生。使用String.valueOf()
如果你使用任何字符串變量讓利說myString的(如具有實例變量默認值爲NULL)像這樣做成才 -
int i=5;
myString = myString+i;
,因爲你沒有初始化字符串mystring都得到它默認值null並加上i。
這可能是其中一種情況。
請問您可以發佈一些代碼嗎? – 2012-04-05 07:02:33
爲什麼你將int插入到String類型的數組呢? – giorashc 2012-04-05 07:02:51
問題很明顯:爲什麼要將整數插入到一個String數組中?調用'array [n] [m] = String.valueOf(value)'。 – Stephan 2012-04-05 07:03:15