Java 字符串str之间的差异="'&;字符串str=null

Java 字符串str之间的差异="'&;字符串str=null,java,string,Java,String,String str1=“”和String str2=null之间有什么区别? 当我们打印str1时,没有输出,当我们打印str2时,输出是null,是空字符串。第一个是空字符串,而第二个是null对字符串的引用 空的字符串是不带字符的字符串 null引用是对不存在的字符串的引用。存在巨大差异“表示此空字符串,第二个null表示有注释要分配,且其注释存在。”表示字符串是在中创建的,而第二个字符串则不存在 str1没有输出 因为字符串是空的,所以它不输出任何内容,而第二个是空的,所以它的字符串值是

String str1=“”
String str2=null
之间有什么区别?
当我们打印
str1
时,没有输出,当我们打印
str2
时,输出是
null

是空字符串。

第一个是空
字符串,而第二个是
null
字符串的引用

空的
字符串
是不带字符的
字符串


null
引用是对不存在的
字符串的引用。

存在巨大差异表示此空字符串,第二个null表示有注释要分配,且其注释存在。

表示字符串是在中创建的,而第二个字符串则不存在

str1没有输出


因为字符串是空的,所以它不输出任何内容,而第二个是空的,所以它的字符串值是空的。

第一个是创建一个新的字符串对象,并将其赋值为“”或空字符串。您的变量指向此字符串对象。第二步是不创建新的字符串对象。您正在创建一个指针,该指针不指向它为空的任何对象。当您使用“+yourstring”打印时,由于基类对象toString()方法,它将打印空值。

不太清楚您在这里要问什么。。。一个是对长度为0的
字符串
对象的引用,另一个是空引用(即根本不是对对象的引用)@vikeng21你所说的
null
无效是什么意思?已提出问题..引用此@Tichodroma我的意思是,如果空引用是对不存在的字符串的引用,那么System.out.print(str)如何给出类似的输出null@GauriShankarnull作为特例显式处理。查看文档:
如果参数为null,则为等于“null”的字符串;否则,将返回obj.toString()的值。
null引用是对nothing(null)的引用。@sotcha-
是字符串文字,它将进入字符串常量池。它不等于
new String()
@TheLostMind your got right,它不等于,它是等价的(如文档所述)。如果我创建多个指向同一对象的“”对象。