【发布时间】:2014-05-15 08:31:18
【问题描述】:
你能解释一下下面的代码吗:
我知道== 比较的是参考而不是值。
但我不清楚下面的代码到底发生了什么?
public class StringEquals {
public static void main(String args[])
{
String s1="AB";
String s2="AB"+"C";
String s3="A"+"BC";
if(s1==s2)
{
System.out.println("s1 and s2 are equal");
}
else
{
System.out.println("s1 and s2 are notequal");
}
if(s2==s3)
{
System.out.println("s2 and s3 are equal");
}
else
{
System.out.println("s2 and s3 are notequal");
}
if(s1==s3)
{
System.out.println("s1 and s3 are equal");
}
else
{
System.out.println("s1 and s3 are notequal");
}
}
}
【问题讨论】:
-
什么问题让你觉得自己不知道发生了什么?
-
由于字符串实习,有时它们确实是同一个字符串;假设它仍然不安全
-
Stringcomparing(tutorialspoint.com/java/java_string_equals.htm)建议使用.equals方法