【Java】原始数据类型与其包装类

Primitive types


  Java语言中默认定义了8个原始数据类型,大致可以分为4类:

  • 整型:包含byte、short、int、long

  • 浮点型:float、double

  • 布尔型:boolean

  • 字符:char

  这8个基本的数据类型如果在声明的时候没有初始化,编译器会赋予默认值,引用类型的对象(如String)默认值为null。但如果是局部变量(Local Variables,方法体内申明),编译器不会自动赋予初始值,会报编译错误。

Data TypeDefault Value (for fields)
byte0
short0
int0
long0L
float0.0f
double0.0d
char‘\u0000’
booleanfalse
String(or any object)null


Object wrapper classes


  虽然Java是面向对象语言,但是它在设计之初却保留了一些面向过程语言的特性,它的8个原始数据类型就是非面向对象的——没有属性、没有方法,它们不是类。使用它们确实能够进行简单、有效的常规数据处理,但是有时候我们需要像对象一样处理基本数据类型。因此Java为每种原始数据类型分别设计了对应的包装类(Wrapper Classes)。

Primitive typeWrapper class
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

  使用包装类有以下作用:

  • 提供了一些实用方法,比如:基本类型之间相互转换

  • 要求Object类型时无法使用基本数据类型,比如集合内不允许存放基本数据类型

Autoboxing&Unboxing


  自动装箱是指Java编译器将基本数据类型自动转换为相对应的包装类,比如int转换为Integer,反之是自动拆箱。JDK1.5之后才支持自动拆装箱,在此之前,都需要手动操作。

List<Integer> li = new ArrayList<>();
for (int i = 1; i < 50; i += 2)
  li.add(i);
//i是int类型,编译器会自动装箱为Integer类,来完成li.add()

  自动拆装箱让开发人员代码书写更简洁,更容易阅读。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值