Integer int auto-boxing auto-unboxing ==

Auto-boxing 自动装箱
Auto-unboxing 自动拆箱
== 相等
1、new出来的对象,除非遇到了拆箱的情况,肯定不相等。

因为new对象之前需要在JVM堆中提供空间,所以new出来的东西之间,至少内存地址是不一样的
2、基本数据类型之间只比较值

基本数据类型的值,是常量,位于方法区的常量池(1.7之后位于堆),基本数据类型变量都是指向这些值的。
3、一个引用的类型只要是基本数据类型,就不再管赋给引用的东西是什么了,一律只比较值

包装类对象赋值给基本数据类型时都会自动拆箱
4、不一定赋值的时候,包装类对象跟基本数据类型比较的时候也会拆箱

5、自动装箱,会产生一个包装类的对象,赋给引用。这里有两种情况
第一种情况是装箱前的值 在Java设计的缓存的范围内,那么装箱后的对象是已有的缓存对象

第二种情况是装箱前的值 在Java设计的缓存的范围外,那么装箱后的对象是new出来的对象

而Integer装箱机制的缓存范围,在源码中是有详细实现的。

Integer int auto-boxing auto-unboxing ==的更多相关文章
- Java中的boxing和unboxing(转)
测试代码: System.out.println(0L == 0);//true System.out.println(((Long)0L).equals(0));//false Integer i1 ...
- 《Linux内核Makefile分析》之 auto.conf, auto.conf.cmd, autoconf.h【转】
转自:http://blog.sina.com.cn/s/blog_87c063060101l25y.html 转载:http://blog.csdn.net/lcw_202/article/deta ...
- c++11 auto 与auto& 遍历vector区别
目录 说明 c++11 auto 与auto& 遍历区别 今天被这个问题坑了一天,一直以为是算法错了,debug了一天,最后暴力生成数据才发现,测试代码如下: 说明 转载请注明出处:https ...
- bash shell & front-end & auto publish & auto deploy
bash shell & front-end & auto publish & auto deploy $ zip -r apitool-2018-11-22.zip apit ...
- list<Integer>,Integer[],int[]之间的互转(jdk1.8)
偶然在开发过程中需要将int[] 转成 List<Integer>,采用了遍历的方式,写的代码实在太多. List<Integer> list = new ArrayList& ...
- String,Integer,int类型之间的相互转换
String, Integer, int 三种类型之间可以两两进行转换 1. 基本数据类型到包装数据类型的转换 int -> Integer (两种方法) Integer it1 = new I ...
- Integer & int & == & equals
int 是基本类型,直接存数值,integer是对象,用一个引用指向这个对象 int 是基本数据类型,Integer是类 int类的变量初始为0,Integer的变量则初始化为null. 如果只是用来 ...
- mysql Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
使用mysql的时候,用到int类型的蛮多,需要注意一下: 1. 值的范围 Type Storage Minimum Value Maximum Value (Bytes) (Signed/Uns ...
- css 固定表头的表格,和 width:auto, margin:auto等 自计算方法
实现思路: 外层用一个table,里面写好Header,然后里面再写一个table里面写好header.然后自己控制overflow的值使内部的tablemargin-top和外层的行高一致就可以实现 ...
- Java中List, Integer[], int[]的相互转换
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Mai ...
随机推荐
- hdu 5900 区间dp
题意:给你n对pair 里面有两个值,分别是key 和 val .你可以取相邻的两个pair 获得其中的val,前提是两个pair 的key 的 gcd 不为 1.当然你把相邻的两个取走了之后原本不相 ...
- (九)springmvc之json的数据请求(客户端发送json数据到服务端)
index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pag ...
- ubuntu14.04 caffe
1.显卡驱动 ubuntu nvidia 940m 使用sudo ubuntu-drivers devices 查看推荐的驱动版本 //sudo add-apt-repository ppa:mama ...
- 适配方案(七)iPhone各种系统分辨率、屏幕分辨率
- css手册中各种符号的意思
我们经常在查css手册的时候,看到很多符号都不认识,百度了一下,收藏下来.与大家分享 比如 font属性 font:[ [ <font-style> || <font-variant ...
- MSPBSL_Scripter编译
The BSL Scripter is a PC application that is available for Windows, Linux and Mac OS X. It is a user ...
- 9.Redis的Java客户端Jedis
Redis的Java客户端Jedis Jedis所需jar包 commons-pool-1.6.jar jedis-2.1.0.jar 1.Jedis常用操作(jedis中的api 和 我们在 l ...
- java序列化和反序列化使用总结
一.概念 java对象序列化的意思就是将对象的状态转化成字节流,以后可以通过这些值再生成相同状态的对象.对象序列化是对象持久化的一种实现方法,它是将对象的属性和方法转化为一种序列化的形式用于存储和传输 ...
- HugePages概述--翻译自19C文档
翻译自: https://docs.oracle.com/en/database/oracle/oracle-database/19/unxar/administering-oracle-databa ...
- JLINK固件烧写
最近在使用uVision V5.14.0.0 的时候,由于我使用的Jlink是盗版的,导致软件总是退出,然后再网上找到了解决办法. 下面介绍解决办法: 参考: http://www.9mcu.com/ ...