java八大包装类

目录

java八大包装类

包装类的基本概念

包装类的分类

Object

Number

包装类和基本数据类型的转换

案例:jdk5之前,需要手动装箱和拆箱

案例:jdk5之后,就可以自动装箱和拆箱

包装类测试题

为什么设置方法的返回值类型以及形参类型时经常使用的是Integer而不是int?


java八大包装类

包装类的基本概念

  • 基本数据类

    • Java中的基本数据类型不是面向对象的,它们只是纯粹的数据,除了数值本身的信息之外,基本类型数据不带有其他信息或者可操作方法。

  • 包装类

    • 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。用于描述该对象的类就称为基本数据类型对象包装类。

包装类的分类

  • 针对八大基本数据类型定义相应的引用类型---包装类

  • 有了类的特点,就可以调用类的方法。

基本数据类型包装类包装类的直接父类
booleanBoolean

Object

charCharacter
byteByte

Number

shortShort
intInteger
longLong
floatFloat
doubleDouble

包装类和基本数据类型的转换

  • 装箱:基本类型 -> 包装类型;拆箱:包装类型 -> 基本类型

  • jdk5之前,需要手动装箱和拆箱

  • jdk5以后(含jdk5)是自动装箱和拆箱

  • 自动装箱底层调用的是valueOf方法,比如Integer.valueOf()

  • 自动拆箱底层调用的是intValue方法,比如Integer.intValue()

案例:jdk5之前,需要手动装箱和拆箱

public class Integer01 {
    public static void main(String[] args) {
        int n1 = 100;
        //两种手动装箱方式,int->Integer
        Integer integer = new Integer(n1);
        Integer integer1 = Integer.valueOf(n1);

        //手动拆箱,Integer->int
        int i = integer.intValue();
       
    }
}

案例:jdk5之后,就可以自动装箱和拆箱

public class Integer01 {
    public static void main(String[] args) {

        int n2 = 101;
        //自动装箱,int->Integer
        Integer integer2 = n2;

        //自动拆箱,Integer->int
        int n3 = integer2;
    }
}

包装类测试题

1.下面的代码是否正确,为什么?

Double d = 100d; //正确,自动装箱 Double.value(100d);

Float f = 1.5f; //正确,自动装箱 Double.value(1.5f);

2.如下代码的输出结果?

  • 三元运算符是一个整体,精度最高的是Double,所以是1.0

public class Integer01 {
    public static void main(String[] args) {

        Object obj = true?new Integer(1):new Double(2.0);
        System.out.println(obj);

    }
}

 3.如下代码的输出结果?

  • 两条语句是分别计算的,是独立的,所以是1

public class Integer01 {
    public static void main(String[] args) {
        Object obj2; //局部变量必须初始化后才能被使用
        if (true) {
            //相当于对obj2变量初始化,否则不能输出obj2
            obj2 = new Integer(1); 
        }else {
            obj2 = new Double(2.0);
        }
        System.out.println(obj2);
    }
}

常用的方法

  • Integer.parseInt(String s):将 String 类型转换成 int 类型
  • Boolean.parseBoolean(String s):将 String 类型转换成 Boolean 类型
  • Byte.parseByte(String s):将 String 类型转换成 Byte 类型
  • Short.parseShort(String s):将 String 类型转换成 Short 类型
  • Long.parseLong(String s):将 String 类型转换成 Long 类型
  • Float.parseFloat(String s):将 String 类型转换成 Float 类型
  • Double.parseDouble(String s):将 String 类型转换成 Double 类型

为什么设置方法的返回值类型以及形参类型时经常使用的是Integer而不是int?

  • 原因:当我们使用 Integer 去接收数据时是可以接收到 null 值的,这样就可以避免出现空指针异常。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值