装箱与拆箱

在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类。

Number

Integer、Long、Byte、Double、Float、Short 都是抽象类Number的子类。

这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于 java.lang 包。

示例:

Integer x = 5; // boxes int to an Integer object
x = x + 10;   // unboxes the Integer to a int

当x被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。

Character

我们经常会遇到需要使用对象,而不是内置数据类型的情况。为了解决这个问题,Java语言为内置数据类型char提供了包装类Character类。

Character类提供了一系列方法来操纵字符。你可以使用Character的构造方法创建一个Character类对象,例如:

Character ch = 'a';

常用方法:

  • isLetter() 是否是一个字母
  • isDigit() 是否是一个数字字符
  • isWhitespace() 是否一个空格
  • isUpperCase() 是否是大写字母
  • isLowerCase() 是否是小写字母
  • toUpperCase() 指定字母的大写形式
  • toLowerCase() 指定字母的小写形式
  • toString() 返回字符的字符串形式,字符串的长度仅为1

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress