今天看Java Language Specification的时候看到了下面的一段代码:
package
testPackage;

class
Test
{

public static void main(String[] args)
{
String hello = "Hello", lo = "lo";
System.out.print((hello == "Hello") + " ");
System.out.print((Other.hello == hello) + " ");
System.out.print((other.Other.hello == hello) + " ");
System.out.print((hello == ("Hel"+"lo")) + " ");
System.out.print((hello == ("Hel"+lo)) + " ");
System.out.println(hello == ("Hel"+lo).intern());
}
}

class
Other
{ static String hello = "Hello"; }


package
other;

public
class
Other
{ static String hello = "Hello"; }
输出的结果出人预料。不运行它,大家自己想想答案吧,然后把答案和你的想法贴出来分享给大家吧。
正确答案的话,运行一下运行一下就知道了。。

























输出的结果出人预料。不运行它,大家自己想想答案吧,然后把答案和你的想法贴出来分享给大家吧。
正确答案的话,运行一下运行一下就知道了。。