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交流。

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"