java基本数据类型有哪些_java中有八种基本数据类型

在java中有八种基本数据类型对应每种基本类型又有八种包装类型:

基本类型:boolean, char, int, byte,short,long, float,double

包装器类型:Boolean,Character,Integer,Byte,Short,Long,Float,Double

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

既然有了基本类型为什么还要有包装类呢?我们在使用的过程中究竟用基本类型还是包装类呢?

JAVA是一个面向对象的语言,而基本的数据类型是值类型,在很多情况下是没法直接用值类型的。比如集合里面的类型是Object不能接受值类型。

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

默认值为零,如果我想表示分数为空也就是没有参加考试就没法表现了因为值类型是无法赋空值的。

正是因为值类型的这些缺失,所以java中对应每种值类型给了一个包装类型:包装类型是引用类型,说白了就是一个类,既然是类,里面可以有属性和方法,它里面有哪些属性和方法呢?每个包装类型和基本数据类型都是大同小异的,我们拿Integer 和 int来举例说明:

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

String num1 = "123";

int num2 = Integer.parseInt(num1);

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

那么具体什么时候使用基本数据类型什么时候使用包装类呢?

我们要知道,基本数据类型是保存在栈中的,而包装类型是保存在堆中的,包装类型占用的空间比基本数据类型大,执行的效率也比基本数据类型要低,所以优先使用基本数据类型,在基本数据类型满足不了需求的情况下再考虑包装类型。除了上面提到的场景还有一个典型的场景,比如在控制器中接收一个参数该参数定义成了基本数据类型int那么传过来的参数如果为空则会报空指针错误,如果定义为其包装类型Integer则不会报错,而是得到一个null值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值