2015-09-07 178 views
0
int i = 0; 
String[] b = new String[]{releaseId, i}); 

導致int cannot be converted to java.lang.StringINT不能轉換爲java.lang.String

據我所知Java沒有隱字符串轉換(非原語的情況下調用toString())?

那麼這裏有什麼問題?

Android的Java有什麼不同嗎?

+3

int i = 0; String [] b = new String [] {「」+ releaseId,「」+ i}); –

+2

^請不要那樣做 - 那真的不是很好的做法 - 是的,它的作品,但你應該使用'將String.valueOf();' –

+0

@Ed喬治這就是爲什麼我張貼的評論,而不是回答的原因。你當然是對的。 –

回答

7

從我所知道的java隱含字符串轉換(在 非基元調用toString())?那麼這裏有什麼問題?

這對物體真實的。 int是一個原始類型而不是對象。

使用String.valueOf(i)檢索的i

1

是String表示,

INT不能轉換爲java.lang.String

的Java做的隱式轉換String爲對象,而不是對於原始類型。

您需要使用IntegerString.valueOf(i)

0

有2種「好」的方法將整數轉換爲字符串。 Integer.toString(i)String.valueOf(i)

有可能做這樣的事情,但String s = "" + i;被認爲是難聞的氣味。

相關問題