String str1 = "Hello"; 这句话会在常量池中创建一个字符串Hello,并将引用地址赋值给str1。
String str2 = new String("World"); 这句话是先在常量池中创建一个字符串World,然后在堆中开辟一个空间,把World的值赋给这块空间,最后把空间的引用地址赋值给str2,一共是创建了两个对象。
以上说法正确吗?如果正确我搞不清楚第二步多创建那一个对象的意义在哪里。
还有Int包装类的问题
final Integer it = new Integer(15);
it = 13;
按理说it应该是引用类型,被final修饰后只是地址不能变,值是可以变的,可是为什么我赋值会报错?
|