Java中的——基本类型包装类

今天我们来一起聊聊基本类型的包装类

我们在学习 Java 的时候有了解

Java有四类八种基本数据类型

这些基本数据类型都有对应的包装类


基本类型的包装类


基本类型包装类的概述

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

常用的操作之一:用于基本数据类型与字符串之间的转换。


基本数据类型与包装类的对应关系

byte → Byte

short Short

int Integer

long  Long

float Float

double Double

char Character

boolean Boolean


Integer类的概述

Integer 类在对象中包装了一个基本类型 int 的值,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法(这八个类都差不多咱们就分享一个,剩下的自己去查API哈~~)


Integer构造方法

public Integer(int value)

构造一个新分配的 Integer 对象,它表示指定的 int 值。

public Integer(String s)

构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。


640?wx_fmt=png


String和int类型的相互转换

1)int -- String

a:和""进行拼接

b:public static String valueOf(int i)


640?wx_fmt=png

不止这两种

这是常用的两种方式~~


2)String -- int

a:String -- Integer -- int

b:public static int parseInt(String s)


640?wx_fmt=jpeg


JDK5的新特性自动装箱和拆箱

自动装箱:

把基本类型转换为包装类类型

自动拆箱:

把包装类类型转换为基本类型


640?wx_fmt=png


注意:在使用时,Integer  x = null;代码就会出现NullPointerException。

建议先判断是否为null,然后再使用。


Integer的面试题

看看下面的代码:

Integer i1 = 97;

Integer i2 = 97;

System.out.println(i1 == i2);

System.out.println(i1.equals(i2));

System.out.println("-----------");


Integer i3 = 197;

Integer i4 = 197;

System.out.println(i3 == i4);

System.out.println(i3.equals(i4));

你觉得答案是什么~

我们来运行一下~


640?wx_fmt=jpeg

答案和你想的是一样的吗?


因为-128~127是byte的取值范围,如果在这个取值范围内,自动装箱就不会创建新的对象,而是从常量池中获取,超过了byte取值范围就会再创建新对象~这个就是 i1==i2 的结果为 true 的原因了(感兴趣的小伙伴可以去查看一下源码呦~)

猜你喜欢

转载自blog.csdn.net/y0q2t57s/article/details/81039200