JAVA基础复习一 包装类(Wrapper)的使用

由于基本类型不属于引用类型,所以JAVA为了统一面向对象的思想,将8种基本类型都分别增加了对应的包装类,包装类都是引用类型;

基本类型转包装类:通过new包装类对象即可;

Integer integer = new Integer(10):

包装类转基本类型:通过包装类调用相应xxValue()方法即可;

Integer integer = new Integer(20);
int num = integer.intValue();

JAVA5以后,引入了自动装箱、自动拆箱;
自动装箱:基本类型转包装类;
自动拆箱:包装类转基本类型;

示例:

@Test
public void testWrapper() {
    int num = 10;
    this.method(num);
}

public void method(Object obj) {
    System.out.println(obj);
}

method()方法接收的参数为Object类型,Object是引用类型,而测试中调用的时候,参数为int类型(基本类型),应该会报错,实际上不会,就是因为自动装箱的原理,使得在调用method()方法时,参数num完成自动装箱操作。

面试题

@Test
public void test2() {
    Object obj = true ? new Integer(1) : new Double(2.0);
    System.out.println(obj);
}

打印结果:1.0

解析:因为三元运算要求两个可能的结果的数据类型必须一致,所以结果需要转型为Double类型(向上转型);

posted @ 2020-07-04 13:32  温森  阅读(562)  评论(0编辑  收藏  举报