|
原帖由 learnerhui 于 2008-3-2 21:33 发表 ![]()
我觉得不是,可是结果显示是。
public class HelloJAVA
{
public static void main(String[] args)
{
String str1="abc";
String str2="abc";
if (str1==str2)
System.out.println("1 and 2 is ==");
if(str1.equals(str2))
System.out.println("1 and 2 is equal");
}
}
"abc" 在str1创建的时候被放入了常量池, 创建str2的时候,首先和常量池中字符串比较,发现有相同的,就返回先前"abc"的引用
所以 str1和str2是同一引用,dyaod 说的没错
如果 str2 = new String("abc"); 那么这两个就不是同一引用了 |
|