String a 与 String a=null 有什么区别
class Test{
public static void main(String args[]){
String a = null;
String b;
String c = "abc";
System.out.println(a + c); //打印结果是nullabc
System.out.println(b + c); //直接编译报错
}
}
a,b 都是在栈中分配,堆中都没分配,为何a可以用,b不可以用,高手帮忙解答下什么原因?
[解决办法]
lz给你个链接,有详细的字符串池和字符串堆内存分配的解释
http://wenku.baidu.com/view/0f8c8b1efc4ffe473368abed.html