Java工具类:包装类

包装类

概述

Java中的数据类型分为基本数据类型和类类型(引用数据类型),使用基本数据类型的优势是执行效率高,而类类型的优势则是可以实现更多功能,集成度更高。怎么能让基本数据类型能像对象一样操作?在java.lang包就有8种基本数据类型对应的包装类,分别是

基本数据类型对应包装类
1intInteger
2

char

Character
3byteByte
4shortShort
5longLong
6floatFloat
7doubleDouble
8booleanBoolean

基本数据类型只有 int 和 char 是单词简写形式,完整形式是 integer 和 character ,其余基本数据类型都是完整单词来表示的,所以对应的包装类名比较好理解,无需刻意去记。

核心属性/函数(以Integer为例)

核心属性:

public static final int MAX_VALUE = 0x7fffffff;

public static final int   MIN_VALUE = 0x80000000;

这是以16进制显示包装类可表示的最大值和最小值,对应的二进制数中最高位充当符号位所以就会以上述两种形式表示最值。

构造函数:

1. Integer(int value)

用于实现从基本数据类型转换为包装类,也就是装箱的途径之一

2. Integer(String s)

用于实现从字符串类型转换为包装类,里面调用了Integer里面的parseInt()函数,这个函数将在后面分析。

核心方法

1. public int intValue() 

返回当前包装类对象的整型数值,还有doubleValue()、byteValue()等,所有包装类都同时具备了这些方法,只不过除了返回值与包装类数据类型相匹配的Value函数以外,其余函数均有强制类型转换。这种函数可以用来拆箱,即把包装类类型转换为基本数据类型。

2. public int parseInt(String s)

如果字符串里面只有整数,则返回一个整数,可以实现从参数中的字符串形式解析为基本数据类型。类似的方法还有Double类里面的public double parseDouble(String s)、Short类里面的public short parseShort(String s)等,每个包装类都有将字符串解析为自己对应的基本数据类型,若字符串内容格式不对将抛出异常。

3. public static Integer valueOf(int i)

与构造函数一样,也会创建一个新的对象,同样可以将基本数据类型装箱。

4. public String toString

以字符串形式返回包装类对象的数值

装箱与拆箱

装箱:基本数据类型转换为包装类。

途径:1. 用构造函数,如Integer pacInt = new Integer(4) 或 Integer pacInt = new Integer("4")。

2. 用valueOf()函数,如Integer pacInt = Integer.valueOf(4);

自动装箱:使用包装类接收基本数据类型的数据时自动触发装箱。

Interger i = 10相当于Integer i = Integer.valueOf(10);

拆箱:包装类转换为基本数据类型。

途径:用intValue()函数,定义整型变量接收。

自动拆箱:包装类对象可以当作对应的基本数据类型参与运算时触发,但运算完后会再次装箱,也就意味着运算结果是原来的对象,只不过值被改了。

用上面的包装类对象运算一下:i += 6相当于把对象的value属性加上10。

字符串类与基本数据类型的转换

将基本数据类型转换为字符串类型,有3种途径

1. 直接将基本类型的数据和空字符串用加号连起来,如String str = 10 + "";

2. 先完成基本数据类型的装箱,再调用toString()函数,如String str = Integer.valueOf(10).toString();

3. 调用String.valueOf(),如String str = String.valueOf(10);

当然,字符串也可以转换为基本数据类型,每个包装类都提供了public static xxx parseXXX(String s),当需要将字符串转换为基本数据类型时,调用对应的parseXXX(如int num = Integer.parseInt("123");),一定要注意字符串的格式应当与要转换的数据类型相匹配。

总结

1. 包装类可以让基本数据类型像对象一样拥有更多的功能,同时可以实现基本数据类型与包装类对象的相互转换。

2. 装箱与拆箱说白了就是基本数据类型与封装类对象之间的转换,同时Java对基本数据类型的自动装箱与自动拆箱可以提供便捷,无需手动转换。

3. 包装类里面的public static xxx parseXXX(String s)是包装类最核心的一种函数,可以把字符串转换为对应的基本数据类型,本Reno重修Java时经常被考查到这个函数。

4. Java类库中的类可以根据使用场景灵活使用,可以查阅API,但本Reno还是推荐将最最常用的一些类、函数用笔记下来,当频繁使用常用工具类时老是去查API也不太好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值