【Java】包装类型与引用类型的使用场景

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


前言

Java的基本数据类型总共有​​8​​​种,包括3类:​​数值型​​​,​​字符型​​​,​​布尔型​​​,其中
数值型

  • 整数类型:​​byte​​​、​​short​​​、​​int​​​、​​long​
  • 浮点类型:​​float​​​、​​double​

字符型:​​char​布尔型:​​boolean​

又有​​8​​种包装类型:​​Boolean,Character,Integer,Byte,Short,Long,Float,Double​

从上面可以看到除了 char 和i nt 其它的包装类型名称和对应的基本类型一样只是首字母大写了。

在某些场合不能使用基本类型必须使用包装类,比如集合能接收的类型为Object,基本类型是无法添加进去的,还有泛型也必须使用包装类。

另外假设我们要定义一个变量表示分数,如果用基本类型表示的话:int score;

默认值为零,如果想表示分数为空也就是没有参加考试就没法表现了因为值类型是无法赋空值的,如果使用包装类型Integer score,就可以表示这种情况,因为Integer的默认值为空。

包装类型是引用类型,说白了就是一个类,既然是类,里面可以有属性和方法,它里面有哪些属性和方法呢?每个包装类型和基本数据类型都是大同小异的,拿 Integer 和 int 来举例说明:

假设有这样一个场景,接收到一个String型的数据想把它转换为整型,如果没有包装类这个操作是无法完成的,有了包装类我们可以这样做:

String num= "2023";
int num1 = Integer.parseInt(num);

parseInt就是Integer包装类提供的一个将字符串转成 int 型的方法。

为什么会有包装类?

  • 包装类里面有一些很有用的方法和属性,如 ​​HashCode​​​、​​ParseInt​​;
  • 基本类型不能赋 ​​null​​ 值,某些场合需要;
  • 有些地方不能直接用基本类型,比如​​集合​​。

什么时候用包装类,什么时候用基本类型?

  • 在​​pojo​​​类中定义的属性用​​包装类​​;
  • 在 rpc 方法中定义​​参数​​​和​​返回值​​​的​​类型​​​用​​包装类​​;
  • 定义​​局部变量​​​用​​基本类型​​。


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java