1、表示区别
string str1 = ""; //空字符串 str1.length() 等于 0
string str2 = null; //NULL
string str3 = " "; //空格串 str2.length() 等于 1
2、内存区别
"" :分配了内存 ,分配了一个空间
null :未分配内存
" " :分配了内存
3、使用区别
调用null的字符串的方法会抛出异常。
""是一个字符串(String).它在内存中是存在的.它可以使用Object对象中的方法(如"".toString();"".equals()) 。
null它是一个空对象,在内存中是不存在的。它不可以使用Object对象中的方法。
备注:
空格:本质上和abc一样,它是一个字符。它的数值(ASCII)是32
'\0' :代表字符串的结束,数值(ASCII)是0