包装类
包装类就是把基本类型的数据包装成对象
基本数据类型 | 对应的包装类(引用数据类型) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
基本类型的数据包装方案 |
---|
public Integer(int value):已过时 |
public static Integer valueOf(int i) |
案例演示
package com.ligemanyin.Packaging;
import java.util.ArrayList;
/**
* ClassName:PackagingTest
* Package:com.ligemanyin.Packaging
* Description:包装类演示
*
* @Author:离歌慢饮
* @CreateTime:2024/2/17 18:00
* @Version:1.0
*/
public class PackagingTest {
public static void main(String[] args) {
int i = 100;
Integer i1 = Integer.valueOf(i);
System.out.println(i1); //100
System.out.println(i1.getClass()); //class java.lang.Integer
//自动装箱:自动将基本类型的数据转换成对象
Integer a = 30;
System.out.println(a + "--" + a.getClass()); //30--class java.lang.Integer
//自动拆箱:自动把包装类型的对象转换成对应的基本数据类型
int b = a;
System.out.println(b);
//泛型和集合不支持基本数据类型,只能支持引用数据类型
//ArrayList<int> list = new ArrayList<int>(); 不支持基本数据类型
ArrayList<Integer> IntegerList = new ArrayList<>();
IntegerList.add(13);
IntegerList.add(14);
IntegerList.add(25);
int num = IntegerList.get(2);
System.out.println(num); //25
byte bt1 = 26;
Byte bt2 = Byte.valueOf(bt1);
System.out.println(bt2 + " --- " + bt2.getClass()); //26 --- class java.lang.Byte
short st1 = 66;
Short st2 = Short.valueOf(st1);
System.out.println(st2 + " --- " + st2.getClass()); //66 --- class java.lang.Short
long lg1 = 1234567454;
Long lg2 = Long.valueOf(lg1);
System.out.println(lg2 + " --- " + lg2.getClass()); //1234567454 --- class java.lang.Long
//其他略
}
}
包装类其他常见操作
可以把基本类型的数据转换成字符串类型
public static String toString(double d) |
---|
public String toString() |
可以把字符串类型的数值转换成数值本身对应的数据类型
public static int parseInt(String s) |
---|
public static Integer valueOf(String s) |
案例演示
public class PackagingTest2 {
public static void main(String[] args) {
//把基本类型的数据转换成字符串
Integer integer = 70;
String str = integer.toString();
System.out.println(str + " -- " + str.getClass());
//再将字符串类型的数值转换成数值本身对应的数据类型
Integer integer1 = Integer.valueOf(str);
System.out.println(integer1 + " -- " + integer1.getClass()); //70 -- class java.lang.Integer
int i = Integer.parseInt(str);
System.out.println(i + 1); //71
int i1 = Integer.valueOf(str);
System.out.println(i1 + 2); //72
//其他包装类类似
}
}