通过六个题目彻底掌握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交流。

你可能感兴趣的:(java,jvm,面试)