Java包装类
包装类
Java中的基本数据类型对应的包装类使其对象化,具有属性和方法。
包装类与基本数据类型
Boolean和Character的父类是Object,其他包装类的父类是Number
存储方式:包装类型对象实例化,借由new在堆空间里进行空间分配,对应栈空间中存储地址引用;
基本数据类型变量对应栈空间中存储的是具体数据值。
通常,包装类的效率会比基本数据类型的效率低,空间占用大。

初始值:基本数据类型有各自默认初始值,包装类的对象未初始化时,初始值均为null
装箱与拆箱
装箱:基本数据类型 转换为 包装类
拆箱:包装类 转换为 基本数据类型
自动与手动拆装箱
手动装箱:可以结合类型的构造方法或者valueOf()方法实现
手动拆箱:可以通过xxxValue()方法实现
自动装箱:把一个基本类型变量直接赋给对应的包装类型变量。
自动拆箱:把包装类对象直接赋给对应的基本数据类型变量
public static void main(String[] args){
//手动装箱
int one=12;
//方式1:构造方法传参
Integer t1=new Integer(one);
//方式2:类型.valueOf方法
Integer t2=Integer.valueOf(one);
//手动拆箱
//对象.xxxValue()方法
int two=t1.intValue();
}
public static void main(String[] args){
//自动装箱
int one=12;
Integer t1=one;
//自动拆箱
int two=t1;
}
包装类的比较
public static void main(String[] args) {
Integer one= new Integer(100);
Integer two = new Integer(100);
System.out.println("one==two的结果:"+(one==two));
Integer three=100;//自动装箱
System.out.println("three==100的结果:"+(three==100));//自动拆箱
Integer four=100;
System.out.println("three==four的结果:"+(three==four));
Integer five=200;
System.out.println("five==200的结果:"+(five==200));
Integer six=200;
System.out.println("five==six的结果:"+(five==six));
}
Integer i=Integer.valueOf(100);Java在执行此方法时,会提供一个缓存区,如果-128<参数<127,会从缓存区中查找是否存在同样的对象,如果有则会直接产生,如果没有才会实例化Integer
除Float和Double不能应用对象常量池概念,其他包装类都可以
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!