直接来看个比较 Integer num = null; System.out.println(num == 1);//这块会报空指针异常 乍一看好像很正常 我印象很深的是: null == obj;之类的语句,好像已经是写的最多的语句 但是稍一尝试就会发现,两者之间是有区别的: null 和 包装类型比较没有任何问题, 但是基础类型和包装类型之间的比较存在自动拆装箱 类似这样: num.intVal() == 1 这块就报错了,因为null没有可调用的方法