String s ; 和 String s = null ; 和 String s = "" ; 的却别

String s ;该语句表示只是声明了一个引用变量,但是并没有初始化引用,所以对变量s的任何操作(除了初始化赋值外) 都将引发异常. 


String s=null; 表示未申请任何内存资源,即此语句表示声明了一个引用变量并初始化引用,但是该引用没有指向任何对象.但可以把它作为参数传递或其它使用,但是不能调用它作为对象的方法


String s=""; 表示申请了内存资源,但资源空间值为空。该语句表示声明并引用到一个对象,只不过这个对象为0个字节.所以既然有了对象,就可以调用对象的方法
注意:"" 也是字符串

String s = String.Empty 与 String s=""; 是完全相同的

原文地址:https://www.cnblogs.com/ywzq/p/4894903.html