2013-04-21 309 views
0

我有一個Integer.toString轉換的問題。此代碼輸出「ololo」。爲什麼?我怎麼能整數轉換爲字符串正確?整數轉換爲字符串?

String str1= "1"; 
String str2=Integer.toString(1); 
if (str1!=str2)Log.d("myLogs","ololo");  
+0

您必須'String's使用'equals'方法,而不是''=='也不!='比較。 – 2013-04-21 14:50:58

+0

搜索'字符串比較Java',你會得到很多點擊。 – Keppil 2013-04-21 14:51:05

+0

爲什麼要把Integer的toString()?只要使用'String str2 = 1 +「」;' – 2013-04-21 14:55:37

回答

2

您必須比較使用equals方法,而不是==也不!=運營商String小號,因爲他們會比較String對象的引用。

if (!str1.equals(str2)) { 
    Log.d("myLogs","ololo"); 
} 

注意,當您使用Integer#toString你創建一個新的String,是不是在String JVM池中,從而得到所描述的錯誤。

0

字符串比較必須用equals來完成。
if (!str1.equals(str2))...

當您使用!=你參考平等(不平等)

0

改爲使用!str1.equals(str2)

你不應該使用==!=絃樂