2010-06-12 65 views
13

調用的toString()如果我嘗試Android的:不能對基本類型int

nltxt = nllen.toString(); 

nllen

int nllen = nl.getLength(); 

我得到的錯誤

不能在調用toString()原始類型int。

我想將int轉換爲字符串,所以我可以顯示Log的條目數... 爲什麼它不起作用?

回答

12

原始類型不是對象,因此沒有任何方法。

要將其轉換爲字符串,請使用String.valueOf(nlTxt)

29

基元沒有任何字段或方法。在這種情況下,編譯器有時會將您的原語「自動複製」到相應的類中,即Integer。也許這就是你在這種情況下所期望的。有時編譯器不會這樣做。在這種情況下,它不會自動自動複製它。

您有幾種選擇:

  1. String.valueOf(nltxt)

  2. "" + nltxt(或者,如果你有一些有用與數一起寫東西,做"nltxt equals " + nltxt

  3. 執行 「自動裝箱」手動:new Integer(nltxt).toString()

  4. 格式i t在一些自定義的方式:String.format("nltxt is %d which is bad%n", nltxt)

+1

不要使用2和3 – 2010-06-12 15:50:44

+0

我可以同意3是有點複雜。但爲什麼不是2? – aioobe 2010-06-12 21:05:19

+1

aioobe:它不太可讀。如果有人正在快速掃描代碼,他們可能會錯過,你只是想把它轉換成強大的。 – Mike 2010-06-13 00:25:05

6

您也可以使用Integer.toString(nllen);爲此。

相關問題