包装类

48 篇文章 0 订阅

概述

在Java中有一个设计的原则“一切皆对象”,那么这样一来Java中的一些基本的数据类型,就完全不符合于这种设计思 想,因为Java中的八种基本数据类型并不是引用数据类型,所以Java中为了解决这样的问题,引入了八种基本数据类型 的包装类。

包装类的作用是为了方便对基本数据类型进行操作.

基本类型和引用类型的区别有以下几点:

1.基本类型不是对象,而引用类型是对象.
2.声明方式:基本数据类型直接声明,引用数据类型需要用new关键字创建.
3.存储的位置:基本数据类型存储在堆栈中,引用类型则通过引用指向实例,具体的实例保存在堆中
4.基本数据类型的初始值依据其类型而定,引用数据类型初始值为null.

在这里插入图片描述

以上的八种包装类,可以将基本数据类型按照类的形式进行操作。 但是,以上的八种包装类也是分为两种大的类型的: · Number:Integer、Short、Long、Double、Float、Byte都是Number的子类表示是一个数字。 · Object:Character、Boolean都是Object的直接子类。

包装类型的作用:
包装类是为了方便对基本数据类型进行操作,包装类可以解决一些基本类型解决不了的问题:

1.集合只能存放引用类型的数据, 不能存放基本数据类型.如add(Object o);
2.基本类型和包装类型之间可以互相转换,自动装箱拆箱.
3.包装类的parse方法可以实现基本数据类型+string类型之间的相互转换
4.函数需要传递进去的参数为Object类型,传入基本数据类型就不可行.

装箱和拆箱操作

以下以Integer和Float为例进行操作 将一个基本数据类型变为包装类,那么这样的操作称为装箱操作。
将一个包装类变为一个基本数据类型,这样的操作称为拆箱操作,
因为所有的数值型的包装类都是Number的子类,Number的类中定义了如下的操作方法,以下的全部方法都是进行拆箱的操 作。

在这里插入图片描述

字符串转换

使用包装类还有一个很优秀的地方在于:可以将一个字符串变为指定的基本数据类型,此点一般在接收输入数据上使用 较多。
在Integer类中提供了以下的操作方法: public static int parseInt(String s)
:将String变为int型数据 在Float类中提供了以下的操作方法: public static float
parseFloat(String s) :将String变为Float 在Boolean 类中提供了以下操作方法: public
static boolean parseBoolean(String s) :将String变为boolean … …


    public static void main(String[] args) {
        /**
         * 输入:12   输出:121  原因:str是字符串  +将默认字符串拼接
         */
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        System.out.println(str+1);

    }

如果我想输入12 输出13 就需要用到包装类的字符串转换类

 public static void main(String[] args) {
        /**
         * 输入:12   输出:13  
         */
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        int a =Integer.parseInt(str);
        System.out.println(a+1);

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值