您的位置 首页 java

一文讲解Java基本数据类型的包装类

java 语言是一种面向对象的语言,但Java中的基本数据类型却是非面向对象的,这在实际使用中存在着许多不便,为了解决这种不足,在设计类时为每一种基本数据类型设计了相应的类,这样八种与基本数据类型相对应的类统称为包装类(WrapperClass),有些地方还会翻译成外覆类或数据类型。

一文讲解Java基本数据类型的包装类

包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

一文讲解Java基本数据类型的包装类

包装类的用途

对于包装类说,这些类的用途主要包含两种:

a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法(这些操作方法的作用是在基本类型数据、包装类对象、字符串之间提供转化!)。

所有的包装类(WrapperClass)都有共同的方法。

int和Integer类之间的转换

在实际转换时,使用 Integer 类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换,实现的代码如下:

一文讲解Java基本数据类型的包装类

Integer类内部的常用方法

在Integer类内部包含了一些和int操作有关的方法,下面介绍一些比较常用的方法:

1. parseInt 方法

publicstaticintparseInt(Strings)

该方法的作用是将数字字符串转换为int数值。在以后的界面编程中,将字符串转换为对应的int数字是一种比较常见的操作。

使用示例如下:

一文讲解Java基本数据类型的包装类

例如:

另外一个parseInt方法:

publicstaticintparseInt(Strings,intradix)

则实现将字符串按照参数radix指定的进制转换为int。

使用示例如下:

一文讲解Java基本数据类型的包装类

这样可以实现更灵活的转换。

1. toString 方法

publicstaticStringtoString(inti)该方法的作用是将int类型转换为对应的String类型。使用示例代码如下:

一文讲解Java基本数据类型的包装类

则字符串s的值是”1000”。

自动拆箱和装箱

自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。

自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue()和doubleValue()方法。

自动装箱与拆箱的功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的语法,决定是否进行装箱或拆箱动作。

例如:

Integeri=100;

相当于编译器自动为您作以下的语法编译:

Integeri=newInteger(100);

所以自动装箱与拆箱的功能是所谓的“编译器蜜糖”(CompilerSugar),虽然使用这个功能很方便,但在程序运行阶段您得了解Java的语义。

例如下面的程序是可以通过编译的:

Integeri=null;

intj=i;

这样的语法在编译时期是合法的,但是在运行时期会有错误。

因为这种写法相当于:

Integeri=null;

intj=i.intValue();

null表示i没有参考至任何的对象实体,它可以合法地指定给对象参考名称。

由于实际上i并没有参考至任何的对象,所以也就不可能操作intValue()方法,这样上面的写法在运行时会出现NullPointerException错误。

于实际上i并没有参考至任何的对象,所以也就不可能操作intValue()方法,这样上面的写法在运行时会出现NullPointerException错误。

文章来源:智云一二三科技

文章标题:一文讲解Java基本数据类型的包装类

文章地址:https://www.zhihuclub.com/200408.shtml

关于作者: 智云科技

热门文章

网站地图