java学习之java增强的包装类

声明:此内容参考书籍《疯狂java讲义第二版》

java是面向对象的变成语言,但它也包含了8种基础数据类型,这8种基础数据类型不支持面向对象的机制,基础数据类型的数据也不具备“对象”的特性,没有成员变量、成员方法可以被调用。java之所以提供这8种基础数据类型,主要是为了照顾程序员传统的习惯。

这8种基础数据类型带来了一定的方便性,但在某些时候,会有一些制约,例如所有引用数据类型对象都继承了Object类,都可当成Object类型变量使用。但基础数据类型的变量就不可以,如果有个方法需要Object类型的参数,但实际需要的值却是2,3这样的数值,这可能就比较难处理。

为了解决这个问题,java提供了包装类的概念,为这8种基础数据类型分别定义了相对应的引用类型,并称为基础数据类型的包装类。
image.png
从以上可以看到,除了int和char有点例外之外,其他的都是将首字母大写即可。

下面程序示范了如何将基本数据类型转换成对应的包装类对象,以及如何把一个字符串包装成包装类

image.png

如果希望获得包装类对象中的包装的基本数据类型变量,则可以使用包装类提供的xxxValue()实例方法。例如:

image.png

以上可以看出基础数据类型和包装类类型转换比较麻烦,jdk1.5后提供了自动装箱和自动拆箱功能。自动装箱就是可以把一个基础数据类型变量直接赋给对应的包装类变量,或者赋给Object 变量;自动拆箱允许直接把包装类对象直接赋值给一个对应的基本类型变量。

image.png

包装类还可以实现基础类型变量和字符串的转换。字符串类型的值转换成基础类型的值有两种方式:
(1)利用包装类提供的parseXxx(String s)静态方法(除了Character之外的所以包装类都提供类该方法)
(2)利用包装类提供的Xxx(String s)构造器。
String类提供了多个重载的valueOf()方法,用于将基础数据类型转换成字符串。
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值