2013-04-21 153 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)

你不应该使用==!=弦乐