2012-04-05 71 views
0

我正在聲明[2] [5]的字符串數組。直到那時,一切都很好。我可以將東西插入到數組中。[Java]字符串數組中的空值插入int時

但是,當我向數組中插入一個整數值時,在該int值之前會自動添加'null'關鍵字。

所以我們假設我將5插入到arrayName [1] [0]中。當我打印後,我得到'null5'。這很奇怪。

你們究竟認爲問題是什麼。謝謝,C @ N。

+3

請問您可以發佈一些代碼嗎? – 2012-04-05 07:02:33

+0

爲什麼你將int插入到String類型的數組呢? – giorashc 2012-04-05 07:02:51

+0

問題很明顯:爲什麼要將整數插入到一個String數組中?調用'array [n] [m] = String.valueOf(value)'。 – Stephan 2012-04-05 07:03:15

回答

1

我可以看到這種情況發生的唯一方法是,如果你使用+ =:

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]); 
+0

謝謝朋友。正是我需要的。欣賞它。 – 2012-04-05 14:38:33

4

,那麼我認爲這可能會發生。使用String.valueOf()

0

如果你使用任何字符串變量讓利說myString的(如具有實例變量默認值爲NULL)像這樣做成才 -

int i=5; 
myString = myString+i; 

,因爲你沒有初始化字符串mystring都得到它默認值null並加上i。

這可能是其中一種情況。