目录
例子:
实体类:
public class Cat {
private String name="招财猫";
public Integer age=10;
private Map<String,String> stringMap ;
}
主程序
public static void main(String[] args) {
//空指针异常
Cat cat = new Cat();
if(cat.getStringMap().get("a")==null){
System.out.println("测试空指针异常!");
cat.getStringMap().put("a","b");
}
}
运行到if语句会出现错误:
Exception in thread "main" java.lang.NullPointerException
空指针就是:这个Map指向任何地址,但是你还是调用它了,
解决方法:
private Map<String,String> stringMap = new HashMap<>();
运行成功!
map=new HashMap()和map=null的区别
前者创建对象、分配地址,将该地址的引用赋值给对象
后者只是创建对象,地址为空(null)