2020-10-16包装类

包装类

基本数据类型,使用起来非常的方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本数据类型封装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据;

装箱和拆箱

基本数据类型和对应的包装类对象之间,来回转换的过程

装箱:从基本数据类型转换为对应的包装类对象
以Integer为例:
构造方法:(已过时)
Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
Integer(String s) 构建了一个新分配的 Integer表示 int值表示的 String参数
静态方法:
static Integer valueOf(int i) 返回一个 Integer实例表示指定的 int价值。
static Integer valueOf(String s) 返回一个 Integer对象持有指定的 String价值
拆箱:从包装类对象转换为对应的基本类型
成员方法:
int intValue() 以int类型返回该integer类型。

/**
 * Integer的装箱和拆箱
 *      装箱:
 *          把基本类型的数据变成包装类
 *          构造方法:
 *              Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
 *              Integer(String s)  构建了一个新分配的 Integer表示 int值表示的 String参数
 *          静态方法:
 *              static Integer valueOf(int i) 返回一个 Integer实例表示指定的 int价值。
 *              static Integer valueOf(String s) 返回一个 Integer对象持有指定的 String价值。
 *
 *      拆箱:
 *          在包装类中取出基本数据类型的数据
 *           成员方法:
 *              int intValue() 以int类型返回该integer类型
 * @author Administrator
 * @date 2020-10-15  下午 16:30
 */
public class Demo01Integer {
    public static void main(String[] args) {
        demo01();
        demo02();
    }

    /**
     * 拆箱:
     */
    private static void demo02() {
        Integer number = new Integer(9390);
        int i = number.intValue();
        System.out.println(i);
        System.out.println();

    }

    /**
     * 装箱:
     *      Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
     *      Integer(String s)  构建了一个新分配的 Integer表示 int值表示的 String参数
     */
    private static void demo01() {
        //构造方法 已过时
        Integer number = new Integer(9390);
        Integer numberOne = new Integer("13456");
        System.out.println(number);
        System.out.println(numberOne);
        System.out.println();
        //静态方法
        Integer valueOne = Integer.valueOf(1010);
        // Integer value = Integer.valueOf("a"); NumberFormatException 数字格式异常 只能转换对应类型
        Integer valueTwo = Integer.valueOf("9436");
        System.out.println(valueOne);
        System.out.println(valueTwo);
        System.out.println();

    }
}
9390
13456

1010
9436

9390

自动装箱和自动拆箱

由于我们要经常做基本数据类型和包装类之间的转换,从java 5 (JDK 1.5)开始,基本数据类型的装箱和拆箱操作可以自动完成。
Integer i = 4 相当于 Integer i = Integer.valueOf(4);
i= i+5; 相当于 i.Integer.valueOf()+5; 加法运算完之后,再次装箱,把基本数值转换成对象;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值