1. 字符串创建与存储的机制是什么?
String s = "abc";//把“abc”放在常量区,在编译时产生 String s = "ab" + "c";//把"ab" + "c"转换为字符串常量“abc”放到常量区中 String s = new String ("abc");//在运行时把“abc”放到堆里面,如果"abc"在常量池中不存在,则创建。如已存在则不创建面试题:
new String ("abc")创建了几个对象?
答案:一个或两个。如果常量池中原来有“abc”,那么只创建一个对象;如果常量池中原来没有字符串“abc”,那么就会创建两个对象