基本数据类型包装类
基本数据类型包装类:
在java中有一切皆对象,java中基本数据类型就不符合这种设计思想,因为八种基本数据类型并不是引用数据类型,所以java中为了解决这样的问题,JDK1.5后引入了八种基本数据类型的包装类。
八种包装类分为两大类型:
- Number: Integer,Short,Long,Double,Float,Byte都是Number的子类表示是一个数字
- Object:Character,Boolean都是Object的直接子类
自动装箱:
// 把基本数据类型转换为包装类 叫做自动装箱
Integer i1 = new Integer(12);
自动拆箱:
// 把包装类转换为基本数据类型 ,叫做自动拆箱
int i2 = i1.intValue();
Integer i3 = 10;// 建议方式
字符串类型转换为Int类型:
// 将字符串转换为int类型
int i = Integer.parseInt("1234");
int类型转换为String类型
// 将int类型转换为字符串
String s = String.valueOf(1244);
面试题:
如下一段代码,输出分别为什么
Integer t5 = 23;
Integer t6 = 23;
Integer t7 = 128;
Integer t8 = 128;
System.out.println(t5 == t6);
System.out.println(t5.equals(t6));
System.out.println(t7 == t8);
System.out.println(t7.equals(t8));
乍一看:true,true,true,true
结果:true ,true ,false , true
这是因为Integer类内部 通过静态内部类提供了一个缓存池,范围在-128~127之间,如果超过这个范围 Integer 值都是new出来的对象,如果用==比较结果肯定为false,如果在区间内,则为true
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!