下面的程序输出false
Deleted
并且此代码输出为真
String s1="a";
String s2="b";
String s3=s1+s2;
String s4="ab";
if(s3==s4)
{
System.out.println("true");
}
else
{
System.out.println("false");
}
第一种情况下的输出不正确吗?与创建字符串s4 =“ ab”时一样,字符串常量池中已经存在一个值为“ ab”的对象。
答案 0 :(得分:3)
在Java中,您想使用.equals()
而不是==
来比较字符串。请尝试以下方法。
String s1="a";
String s2="b";
String s3=s1+s2;
String s4="ab";
if(s3.equals(s4))
{
System.out.println("true");
}
else
{
System.out.println("false");
}