Java包装类与基本类型区别与应用,解析面试题

Mr.zhuMr.zhu2025-05-25 17:35:19来源:优站库 (www.uzkoo.com)阅读:204

JAVA有8种基本类型:大致分为3类:字符,布尔,数值类型

byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。

short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。

int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。

long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。

float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。

boolean:只有true和false两个取值。

在 Java 5 中,引入了自动装箱和自动拆箱功能(boxing/unboxing),Java 可以根据上下文,自动进行转换,极大地简化了相关编程。以 Integer 的值缓存为例,这涉及 Java 5 中另一个改进。构建 Integer 对象的传统方式是直接调用构造器,直接 new 一个对象。但是根据实践,我们发现大部分数据操作都是集中在有限的、较小的数值范围,因而,在 Java 5 中新增了静态工厂方法 valueOf,在调用它的时候会利用一个缓存机制,带来了明显的性能改进。

基础数据类型与包装类对应关系与缓存值范围如下下表所示

对应关系与缓存值范围

Java 里的两个基础要素:原始数据类型、包装类,说到这里就要谈到自动装箱、自动拆箱机制。自动装箱实际上算是一种语法糖,Java 平台为我们自动进行了一些转换,它们发生在编译阶段。

上面讲解了知识与定义,下面我们说一下在什么场景下使用最优:

1、缓存范围内使用速度最快。

2、对数据库的操作,需要对数值类型进行判空。

实际使用中应该注意哪些坑与面试点

1.返回类型与方法的出参要保持一致,否则会导致自动拆箱与装箱的性能损耗。如下:

private static long sum() {

Long sum = 0L;

for (long i = 0; i <= Integer.MAX_VALUE; i++)

sum += i;

return sum;

}

2.包装类型的默认值是 null,而基本类型的默认值都不是null

3.推荐所有包装类对象之间的值比较使用 equlas() 方法,因为包装类的非高频区数据会在堆上产生,而高频区又会复用已有对象,这样会导致同样的代码,因为取值的不同,而产生两种截然不同的结果

4.面试题,如下的输出结果是什么?

public static void main(String[] args) {

Integer num1 = -128;

Integer num2 = -128;

System.out.println("值为-128 => " + (num1 == num2));

Integer num3 = 666;

Integer num4 = 666;

System.out.println("值为666 => " + (num3 == num4));

}

输入结果为:

值为-128 => true

值为666 => false

结果解析:

因为Integer缓存值范围为:-128到127,-128刚好在范围内,其实两个变量都是指向的同一个静态值,而对于超过这个范围的值,会new一个对象

public static Integer valueOf(int i) {

return IntegerCache.cache[i + (-IntegerCache.low)];

return new Integer(i);

}

猜你想看

汽车“不休息”可以跑多少公里?用实际距离告诉你答案
在阳江阳西这座充满魅力的城市中,西湖公园宛如一颗璀璨的明珠,静静地镶嵌在城市中央,散发着独特的光芒
55寸液晶电视怎么选?全面屏、高音画、AI交互一个也不能少
中国最“有名”的4条步行街,去过2条算及格,你都去过几条
4食物是“天然防晒霜”,夏季多吃些,补水养颜,皮肤越来越白
老实人“嘴笨不会说话”?记住以下4个原则,让你变得能言善辩
购买电动车的雷区和误区很多,想要满意、须掌握5个常识
𝙎𝙝𝙖𝙧𝙚刘浩存|看到你漂亮的眼睛一直笑也算我幸福的一种
化妆水是鸡肋还是真的有用?用错方法神仙水一样只是瓶水
喝剩的葡萄酒怎么保存?有何妙用?
Lisa参加疯马秀,为什么内娱吵翻了天?
错过动车怎么办 车票作废了吗?现在知道还不晚
职工养老保险可以补缴吗?如何办理补缴?
核武器原理都知道,为何很多国家倾全力也造不出,究竟难在哪里?
茶叶到底有没有保质期?
对于买车很困惑,不知道选什么车?这些知识能帮到你
网站没排名:为什么网站在Google上没有排名?
《逆水寒手游》标点打怪方法介绍一览
社交中屡试不爽的经典话术,社恐患者也能轻松成为社交王
你知道反光镜上小镜子的真实作用吗?

推荐站点