我有一個Integer.toString轉換的問題。此代碼輸出「ololo」。爲什麼?我怎麼能整數轉換爲字符串正確?整數轉換爲字符串?
String str1= "1";
String str2=Integer.toString(1);
if (str1!=str2)Log.d("myLogs","ololo");
我有一個Integer.toString轉換的問題。此代碼輸出「ololo」。爲什麼?我怎麼能整數轉換爲字符串正確?整數轉換爲字符串?
String str1= "1";
String str2=Integer.toString(1);
if (str1!=str2)Log.d("myLogs","ololo");
您必須比較使用equals
方法,而不是==
也不!=
運營商String
小號,因爲他們會比較String
對象的引用。
if (!str1.equals(str2)) {
Log.d("myLogs","ololo");
}
注意,當您使用Integer#toString
你創建一個新的String
,是不是在String
JVM池中,從而得到所描述的錯誤。
字符串比較必須用equals來完成。
if (!str1.equals(str2))...
當您使用!=
你參考平等(不平等)
嘗試String.valueOf(1);
到整數改變爲String。
改爲使用!str1.equals(str2)
。
你不應該使用==
或!=
絃樂
您必須'String's使用'equals'方法,而不是''=='也不!='比較。 – 2013-04-21 14:50:58
搜索'字符串比較Java',你會得到很多點擊。 – Keppil 2013-04-21 14:51:05
爲什麼要把Integer的toString()?只要使用'String str2 = 1 +「」;' – 2013-04-21 14:55:37