本帖最后由 韦念欣 于 2012-6-30 08:27 编辑
- class Demo
- {
- public static void main(String[] args)
- {
- String s = "who";
- System.out.println("who" == s); // 返回true
- System.out.println("who".equals(s)); // 返回true
- System.out.println("who" == "who"); // 返回true
- System.out.println("who" == new String("who")); // 返回flase
- System.out.println("who".equals(new String("who"))); // 返回true
- System.out.println("who" == new String("who").intern()); // 返回true,为什么这个返回的是true????
- System.out.println("who".equals(new String("who").intern())); // 返回true
- }
- }
复制代码 程序运行结果是:
true
true
true
false
true
true
true
问题:为什么intern()方法返回的字符串和"who"比较结果为真,而直接new出来的字符串和"who"比较结果为假??
|
|