1. 包装类:
- java是面向对象的语言,任何事物都可以使用类进行描述,sun就使用了一些类描述java中八种基本数据类型数据
2. 八大基本数据类型对应的包装类
基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
double Double
float Float
char Character
boolean Boolean
3. 基本数据类型有了包装类的好处:
3.1在jdk1.5之前,并没有包装类,当需要把引用数据类型当成基本数据类型使用时,需要手动进行转换;jdk1.5之后,有了包装了,基本数据类型和引用数据类型可以进行自动转换。
3.2可以把 字符串转换成数字类型的数据使用,也可以把数字类型数据转换成字符串使用
3.3可以把字符串当成对应的进制数据自动进行转换。
4. 自动拆装箱
4.1 自动装箱:将基本数据类型的值直接赋值给引用数据类型(包装类)的过程,称为自动装箱
-
- &bsp; &bsp;it ——>> &bsp;Iteger
4.2 自动拆箱:将引用数据类型(包装类)数据直接赋值给基本数据类型的过程,称为自动拆箱
-
- &bsp; Iteger ——>> it
5. Integer底层维护的是缓冲数组
Integer 内部维护了缓冲数组,该缓冲数组存储的是-128~127,这些数据在一个数组中。 如果你获取的数据是这个范围内,那么就直接从该缓冲区中获取对应的数据。
public static void main(String[] args) {
String str1 = "10";
// 字符串转数字
int data1 = Integer.parseInt(str1) + 1;
System.out.println("字符串转数字:" + data1); // 11
// 把数字转换成字符串
String string1 = Integer.toString(data1);
System.out.println("数字转字符串:" + string1); // "11"
// 把字符串当成对应进制的数据使用
String str2 = "10";
int data2 = Integer.parseInt(str2, 2); // 二进制
System.out.println("十进制的10转换成二进制:" + data2);//2
// 自动装箱:把基本数据类型包装成引用数据类型
int data3 = 2;
Integer str3 = data3;//将基本数据类型的值直接赋值给引用数据类型(包装类)的过程,称为自动装箱
// 自动拆箱:把引用数据类型转换成基本数据类型
Integer integer = new Integer(2);
int data4 = integer;// 将引用数据类型(包装类)数据直接赋值给基本数据类型的过程,称为自动拆箱
System.out.println("自动装箱:" + str3 + " 自动拆箱:" + data4);//2 2
// Integer 内部维护了缓冲数组,该缓冲数组存储的是-128~127,这些数据在一个数组中。 如果你获取的数据是这个范围内,那么就直接从该缓冲区中获取对应的数据。
Integer data5 = 127;
Integer data6 = 127;
System.out.println("是同一个对象吗?" + (data5 == data6));//true
Integer data7 = 128;
Integer data8 = 128;
System.out.println("是同一个对象吗?" + (data7 == data8));//false
Integer data9 = -128;
Integer data10 = -128;
System.out.println("是同一个对象吗?" + (data9 == data10));//true
Integer data11 = -129;
Integer data12 = -129;
System.out.println("是同一个对象吗?" + (data11 == data12));//false
}