我有一个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