Java 包装类

J a v a  包装类 \huge{Java \space 包装类} Java 包装类

概述

所谓的包装类,通俗来讲其实就是 8 8 8种基本数据类型对应的引用类型(本质就是引用类型)。
在这里插入图片描述
❗❗❗尤其注意 c h a r char char对应的包装类的名称是 c h a r a c t e r character character i n t int int对应的包装类名称是 I n t e g e r Integer Integer

包装类的作用?(存在的意义?)

  1. J a v a Java Java恨不得把所有的东西都当作对象来看待,所以才会引入对应的 8 8 8种引用类型,实现了一切皆对象。
  2. 后续的集合和泛型只能支持包装类型,不能支持基本数据类型

包装类的使用

①. 自动装箱 and 自动拆箱

把基本类对应的包装类称作为“对应的箱子”,所以对于装箱和拆箱就有:
自动装箱:系统自动将基本类型转换为对应的包装类型并生成对象赋值。
自动拆箱:系统自动将包装类型中的数据拆分成为对应的基本类型并生成对象赋值。
示例:

//自动装箱
int a = 10;
Integer a1 = a;		//int类自动装箱成Integer类

//自动拆箱
Integer it = 100;
int it1 = it;		//Integer类自动拆箱成int类


//装拆综合
double db = 99.5
Double db2 = db;   //自动装箱
double db3 = db2; 	//自动拆箱

②. 包装类特有的功能

1. 包装类可以把基本类型的数据转换成为相应的字符串类型(基本没用

在这里插入图片描述
示例:

//调用包装类的toString()方法
//生成对应的String类
Integer i3 = 23;
String rs = i3.toString();
System.out.println(rs + 1);


//但是其实String中的 + 自己就可以搞定
//上面反而麻烦了
String rs2 = i3 + ""
System.out.println(rs2 + 1);

2. 包装类可以将字符串类型的数据转换为对应的基本类型(❗❗顶级有用)

在这里插入图片描述

String number = "23";
//将这个字符串转换为整数
//需要调用对应包装类型Ingeter的parseInt方法
int age = Integer.parseInt(number);
System.out.println(age + 1);

String number1 = "99.9";
//转换成小数
double score = Double.parseDouble(number1);
System.out.println(score + 0.1);

总之就是:
基本数据类型 变量名称 = 对应包装类.parse对应基本类型(字符串)

valueOf()
这个方法与 p a r s e X X X parseXXX parseXXX实际使用出来的效果一模一样,看下面的示例:

int age = Integer.valueOf(number);

double score = Double.valueOf(number1);

❗:进行字符串类型向基本数据类型转换的时候,字符串类型的中暗含数据类型必须与所转换的基本类型严格一致。例如,字符串类型中的数据为double类型,那么就无法调用Integer.parseInt()方法进行转换。

一个小细节
基本数据类型不可以赋值为null,但是引用数据类型可以赋值为null,同时引用数据类型可以赋值为0所以相比之下引用数据类型赋值更加严谨(加了把锁),可能这就是为什么后面的集合与泛型都是使用引用类型为基本类型吧(思索)。

③. 最后总结

包装类,就是一种对应于基本数据类型的特殊类,本质就是引用数据类型。可以与基本数据类型相互赋值(自动拆装箱),可以进行字符串与对应基本类型的相互转换(一般都是使用字符串转换为对应基本类型较多),相对于基本数据类型,引用数据类型更加保险!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值