Java ---对象的包装器与自动装箱以及Java128陷阱

news/2024/7/20 17:09:49

1.定义:

Integer类对应基本类型int,通常,这些类称为包装器。

2.种类:

Interger,Long,Float,Double,Short,Byte,Character,Void,Boolean

3.应用:

假设定义一个整型数组列表。而<>中类型参数不允许是基本类型,也就是不允许写成,ArrayList<int>,这个就用到了Interger对象包装器。我们可以这样声明

	ArrayList<Integer> arrayList =new ArrayList<>();

如果我们想要增加int类型元素可以这样来:

arrayList.add(3);

但是实际了是这样的:

list.add(Interger.valueof(3));

这样的变换被称为自动拆箱。

反过来,有一个Interger对象赋予给int是,也会自动拆箱。

大家都知道 ==可以应用到对象包装器,只不过是检测存储区域是不是一样,因此下面的例子通常不会成立

                    Integer aInteger =1000;
		    Integer bInteger =1000;
		System.out.println(aInteger==bInteger);

 但是有种情况他的确是成立的请看下列:

Integer aInteger =127;
		Integer bInteger =127;
		System.out.println(aInteger==bInteger);

 

这是为什么呢

自动装箱有种规范是要求boolean,byte,char<=127,short和int在-128~~127之前。这就是说的127陷阱当在这个之间的时候,还是当int类型来用。这个和二进制位数有关。


http://www.niftyadmin.cn/n/4224752.html

相关文章

Jekyll使用教程笔记 五

目录 《Jekyll使用教程笔记 一&#xff1a;简介、快速开始、基本用法、目录结构》《Jekyll使用教程笔记 二&#xff1a;配置》《Jekyll使用教程笔记 三&#xff1a;Front Matter、写文章》《Jekyll使用教程笔记 四&#xff1a;创建页面、静态文件、变量》《Jekyll使用教程笔记 …

FindWindow用法

函数功能&#xff1a;该函数获得一个顶层窗口的句柄&#xff0c;该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。函数型&#xff1a;HWND FindWindow&#xff08;LPCTSTR IpClassName&#xff0c;LPCTSTR IpWindowName&#xff09;;参…

分布式搜索的面试题2

1、面试题 es写入数据的工作原理是什么啊&#xff1f;es查询数据的工作原理是什么啊&#xff1f; 2、面试官心理分析 问这个&#xff0c;其实面试官就是要看看你了解不了解es的一些基本原理&#xff0c;因为用es无非就是写入数据&#xff0c;搜索数据。你要是不明白你发起一个写…

hibernate nativeSql应用

HQL尽管容易使用&#xff0c;但是在一些复杂的数据操作上功能有限。特别是在实现复杂的报表统计与计算&#xff0c;以及多表连接查询上往往无能为力&#xff0c;这时可以使用SQL&#xff08;Native SQL&#xff09;实现HQL无法完成的任务。 使用Naive SQL可以返回object结果&a…

POJ2488 A Knight's Journey

题目&#xff1a;http://poj.org/problem?id2488 题目大意&#xff1a;可以从任意点开始&#xff0c;只要能走完棋盘所有点&#xff0c;并要求字典序最小&#xff0c;不可能的话就impossible&#xff1b; 思路&#xff1a;dfs回溯&#xff0c;因为字典序最小&#xff0c;如果可…

JAVA基础 - 多态

目录 什么是多态 重载和重写 重写 重载 多态的分类 多态的条件 向上转型&向下转型 向上转型&#xff1a; 向下转型&#xff1a; 什么是多态 多态可以理解为多种形态&#xff0c;同一件事情&#xff0c;不同的对象去完成时会产生出不同的状态&#xff0c;也就产生…

Spring-Session基于Redis管理Session

前言 在上文Tomcat Session管理分析介绍了使用tomcat-redis-session-manager来集中式管理session&#xff0c;其中一个局限性就是必须使用tomcat容器&#xff1b;本文介绍的spring-session也能实现session的集中式管理&#xff0c;并且不局限于某种容器&#xff1b; spring-ses…

spring读取properties文件

项目中的一些灵活配置&#xff0c;设置到properties文件中&#xff0c;项目中通过读取properties中相应的值来使用&#xff0c;修改时&#xff0c;也只修改properties即可。以上为使用的好处&#xff0c;现在&#xff0c;总结一下项目中propeties文件的使用。 一、java直接读取…