自各儿琢磨出的更变态的面试题
自己琢磨出的更变态的面试题
s1 == s2 ? true s1 == s3 ? false通常面试的朋友可能会遇到这样的面试题:
String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); if(s1 == s2) { System.out.println("s1 == s2"); } if(s1 == s3) { System.out.println("s1 == s3"); }
输出当然是:
s1==s2
我回家换了个方法(自以为换了个方法)写上面的程序,程序是:
String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); System.out.println("s1 == s2 ? " + s1==s2); System.out.println("s1 == s3 ? " + s1==s3);
自以为结果是:
s1 == s2 ? true s1 == s3 ? false
结果出来的结果吓了我自己一跳,原来是另有蹊跷,输出是什么,考考各位的眼力了。
写程序真是,差之毫厘,冒之千里