有意思:
如下的测试代码可以说明一些问题:
public class TestStr{
public static void main(String[] args) {
Object aStr = null;
String bStr = new String();
String cStr = aStr + bStr;
//System.out.println(null);
System.out.println(aStr);
//System.out.println(aStr.length());
System.out.println(cStr);
System.out.println(cStr.length());
System.out.println("-----" + cStr + "-----");
System.out.println(new String().length());
}
}输出结果:
F:\java>java TestStr
null
null
4
-----null-----
0说明:
null是一特殊的对象。将其赋值给String后,其是String,当然可以输出成null,但String没有长度;
另外,String+Object时,会将Object.toString()