打个比喻 “你什么都没说”
string s="" 是你没说任何话
string s = Null 是你没法说话
首先,string s是一个声明,你可以把它看成是声明了一个引用;s是一个string类的引用,string s = Null 表示它不指向任何字符串对象,你将s这个引用指向了内存中一个空地址(没任何东西,null),string s=""你将s的引用指向了一个空字符串(有一个字符串对象,而且它的值是0长度的字符串)如果调用s.length()之类的方法,s为null时会抛出NullPointerException,而""则能进行正常的计算。 |