package com.heima.pak;
import java.util.ArrayList;
/*
基本数据类型:
byte short int long float double boolean char
包装类:java.lang.XXX
Byte Short Int Long Float Double Boolean Char
装箱:把基本类型数据储存到包装类中
构造方法:
Integer(int value) 构造一个新分配的Integer对象,它表示int的值
Integer(String s) 构造一个新分配的Integer对象,它表示String参数所指示的int值
静态方法:
static Integer valueOf(int i) 返回一个表示指定的int值的Integer实例
static Integer valueOf(String s) 返回保存指定的String的值的Integer对象
这两个构造方法过时了,一般用这两个静态方法
拆箱:在包装类中取出基本数据类型的数据
*/
public class MyInteger {
public static void main(String[] args) {
//装箱
Integer n1 = new Integer(1);
System.out.println(n1); //1
Integer n2 = new Integer("1");
System.out.println(n2); //1
//Integer n2 = new Integer("a"); 这样会报错
Integer a1 = Integer.valueOf(1);
System.out.println(a1); //1
Integer a2 = Integer.valueOf("1");
System.out.println(a2); //1
//拆箱
int i = n1.intValue();
System.out.println(i); //1
//JDK1.5以后装箱和拆箱自动进行
//自动装箱
Integer m1 = 1; //相当于Integer m1 = new Integer(1),把基本类型的值直接复制给包装类
//自动拆箱: m1是包装类,无法直接参与计算,需要拆箱后再+1,加完后再装箱并赋值给m1
m1 = m1+1;
ArrayList<Integer> list = new ArrayList<>();
list.add(1); //自动装箱
int h = list.get(0); //自动拆箱
}
}
包装类,装箱和拆箱
最新推荐文章于 2022-06-04 11:46:23 发布