通过六个题目彻底掌握String笔试面试题
Java中String类由于其特殊性(不变类),几乎是笔试面试中的必考题,当然有些题目其实没啥意思,不过关键是要通过题目掌握原理性的东西。下面六道题目,如果您全部做对了,且明白其所以然,那么Java中的关于String的笔试面试题应该难不到你了。也许您觉得polaris说的有点过了,然而彻底明白这些题目,对理解String类还是很有好处的。
写出下面各题的打印输出的结果:
1
public static void main(String[] args){
String a = "a1";
String b = "a"+ 1;
System.out.println(a==b);
}
2
public static void main(String[] args){
String a = "ab";
String bb = "b";
String b = "a"+ bb;
System.out.println(a==b);
}
3
public static void main(String[] args){
String a = "ab";
final String bb = "b";
String b = "a"+ bb;
System.out.println(a==b);
}
4
public static void main(String[] args){
String a = "ab";
final String bb = getBB();
String b = "a"+ bb;
System.out.println(a==b);
}
private static String getBB(){ return "b"; }
5
private static String a = "ab";
public static void main(String[] args){
String s1 = "a";
String s2 = "b";
String s = s1 + s2;
System.out.println(s == a);
System.out.println(s.intern() == a);
}
6
private static String a = new String("ab");
public static void main(String[] args){
String s1 = "a";
String s2 = "b";
String s = s1 + s2;
System.out.println(s == a);
System.out.println(s.intern() == a);
System.out.println(s.intern() == a.intern());
}
做完后,将上面各题运行一下就知道正确答案了。(*^__^*)
如果以上这六道题您都答对了,祝贺您,您的Java基础掌握的很好;如果打错了不少,而且不明白其中的道理,polaris建议您阅读一下JVM规范中关于String常量池部分。当然,也欢迎留言与polaris交流。