本帖最后由 郁金香大公爵 于 2015-8-1 08:57 编辑
String str = null 表示声明了一个String对象的引用str,但是没有为其分配内存空间。 String str ="" 表示创建了一个长度等于0的空字符串,并在内存中为其分配了内存空间。 String str = new String("abc"); 在内存中有两个对象:堆内存开辟了一个空间,构造函数初始化,往构造函数里传递了一个字符串。所以说有两个对象,堆内存中有一个new String,常量池中有一个字符串abc |