分享:一道BT试题
中间件XL 2007-01-13 09:28:28 近日,在下到某公司面试,满怀信心的我重重的载在那份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"; }
学海无崖,顿感羞愧,特此分享。