直接上代码,之后做解析:
public class Test02 {
public static void main(String[] args) {
String str01 = null;
String str02 = "";
str01 = "hello";
str02 = "world";
System.out.println(str01);
System.out.println(str02);
}
}
运行结果:hello
world
从内存角度来看:方式一只是声明对象,不分配内存空间,赋值失败后再使用会报空指针异常;方式二分配空间,初始化为空值,赋值失败后使用时当做空值使用。
两种方式都可以使用,前者隐含会对赋值结果做检验,报空指针异常证明赋值失败,具体使用还是要看使用场景