http://topic.csdn.net/u/20070113/21/9287c503-51fb-4979-9935-9d739aaab3ef.html
近日,在下到某公司面试,满怀信心的我重重的载在那份BT试题上。
其中一道:
以下code生成几个String对象
String a= "abc ";
String b= "abc ";
String c=new String( "abc ");
String d=c.intern();
当时在下毫不忧郁的选3。
后来在Java Language Specification/CHAPTER 3/Lexical Structure发现这样一个测试代码,知道错了。
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 "; }
学海无崖,顿感羞愧,特此分享。
近日,在下到某公司面试,满怀信心的我重重的载在那份BT试题上。
其中一道:
以下code生成几个String对象
String a= "abc ";
String b= "abc ";
String c=new String( "abc ");
String d=c.intern();
当时在下毫不忧郁的选3。
后来在Java Language Specification/CHAPTER 3/Lexical Structure发现这样一个测试代码,知道错了。
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 "; }
学海无崖,顿感羞愧,特此分享。