通过六个题目彻底掌握String笔试面试题

Java中String类由于其特殊性(不变类),几乎是笔试面试中的必考题,当然有些题目其实没啥意思,不过关键是要通过题目掌握原理性的东西。下面六道题目,如果您全部做对了,且明白其所以然,那么Java中的关于String的笔试面试题应该难不到你了。也许您觉得polaris说的有点过了,然而彻底明白这些题目,对理解String类还是很有好处的。

写出下面各题的打印输出的结果

1
view sourceprint?1 public static void main(String[] args){ 

2     String a = "a1"; 

3     String b = "a" + 1; 

4     System.out.println(a==b); 

5 }

2
view sourceprint?1 public static void main(String[] args){ 

2     String a = "ab"; 

3     String bb = "b"; 

4     String b = "a" + bb; 

5     System.out.println(a==b); 

6 }

3
view sourceprint?1 public static void main(String[] args){ 

2     String a = "ab"; 

3     final String bb = "b"; 

4     String b = "a" + bb; 

5     System.out.println(a==b); 

6 }

4
view sourceprint?1 public static void main(String[] args){ 

2     String a = "ab"; 

3     final String bb = getBB(); 

4     String b = "a" + bb; 

5     System.out.println(a==b); 

6 } 

7 private static String getBB() { return "b"; }

5
view sourceprint?1 private static String a = "ab"; 

2 public static void main(String[] args){ 

3     String s1 = "a"; 

4     String s2 = "b"; 

5     String s = s1 + s2; 

6     System.out.println(s == a); 

7     System.out.println(s.intern() == a); 

8 }

6
view sourceprint?1 private static String a = new String("ab"); 

2 public static void main(String[] args){ 

3     String s1 = "a"; 

4     String s2 = "b"; 

5     String s = s1 + s2; 

6     System.out.println(s == a); 

7     System.out.println(s.intern() == a); 

8     System.out.println(s.intern() == a.intern()); 

9 }

做完后,将上面各题运行一下就知道正确答案了。(*^__^*)

如果以上这六道题您都答对了,祝贺您,您的Java基础掌握的很好;如果答错了不少,而且不明白其中的道理,polaris建议您阅读一下JVM规范中关于String常量池部分。当然,也欢迎留言与polaris交流。

答案及讲解《深入理解String——之前六个题目答案解析》
本文引用地址: http://www.beijixing001.com/post/576.html

你可能感兴趣的:(String)