关于 int类型为null的问题
import java.util.HashMap;
/*
int类型为null的问题
*/
public class test {
public static void main(String[] args) {
// 1、不能把null赋值给基本数据类型,否则编译器报错:
// int a = null; //编译器直接报错
// 2、可以把null赋值给所有引用类型(它们的默认值也都是null):
Integer b = null;
System.out.println(b);// 控制台输出:null
// 3、将值为null的包装类 拆箱为基本类型时会抛出空指针异常,如:
Integer isNull = null;
//int i = isNull; //编译时不会报错,运行后在这一行抛NullPointerException
//System.out.println(i);
// 4、如果你确实需要输出一个值,怎么解决?
HashMap<Integer, Integer> map = new HashMap();
map.put(1, 101);
map.put(2, 102);
int m1 = map.get(1);
System.out.println(m1); //101
/*
int m2 = map.get(9); // 这一行抛java.lang.NullPointerException
System.out.println(m2);
*/
Integer m2 = (Integer) map.get(9); //避免可能存在的空指针异常
System.out.println(m2); //null
}
}
/*运行结果:
null
101
null
*/