基本数据类型包装类

基本数据类型包装类:

在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

posted @   JamieChyi  阅读(20)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示