/** * ①无论如何,Integer与new Integer不会相等。不会经历拆箱过程,i2的引用指向堆,而i3指向专门存放他的内存(常量池),他们的内存地址不一样,所以为false * ②两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false * java在编译Integer i2 = 128的时候,被翻译成-> Integer i2 = Integer.valueOf(128);而valueOf()函数会对-128到127之间的数进行缓存 * ③两个都是new出来的,都为false * ④int和integer(无论new否)比,都为true,因为会把Integer自动拆箱为int再去比 * @author qcxiao * */ public class TestInteger { public static void main(String[] args) { int i = 128; Integer i2 = 128; Integer i3 = new Integer(128); // Integer会自动拆箱为int,所以为true System.out.println(i == i2); System.out.println(i == i3); System.out.println(i2 == i3); System.out.println("**************"); // java在编译的时候,被翻译成-> Integer i5 = Integer.valueOf(127); Integer i5 = 127; Integer i6 = 127; System.out.println("i5 == i6->" + (i5 == i6)); Integer i9 = 128; Integer i10 = 128; System.out.println("i9 == i10->" + (i9 == i10)); //java在编译Integer i2 = 128的时候,被翻译成-> Integer i2 = Integer.valueOf(128); //而valueOf()函数会对-128到127之间的数进行缓存,如果超出就会return new Integer(i);可以看valueOf源码 System.out.println("***************"); Integer ii5 = new Integer(127); System.out.println(i5 == ii5); Integer i7 = new Integer(128); Integer i8 = new Integer(128); System.out.println(i7 == i8); } // public static Integer valueOf(int i) { // assert IntegerCache.high >= 127; // if (i >= IntegerCache.low && i <= IntegerCache.high) // return IntegerCache.cache[i + (-IntegerCache.low)]; // return new Integer(i); // } }
相关推荐
有一些基础东西真的还搞不清楚,看看这个文档int和Integer的区别,个人感觉讲的比较通俗易懂,谢谢原创者!保存了
JAVA-int和Integer的区别1.zip
Java中int和Integer的区别.doc
Java中int和Integer的区别
主要介绍了Java基本数据类型与封装类型详解(int和Integer区别) ,需要的朋友可以参考下
int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的...
int与integer的区别从大的方面来说是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是...
int与Integer的区别(Java各种数据类型详细介绍及其区别).doc
一、先说说int与integer的区别 int 是基本数据类型,默认值为0,不需要进行实例化 integer 是引用数据类型,是int的封装类型,默认值为null,创建该类型需要进行实例化。 基本数据类型是可以用“==”进行比较...
主要介绍了Java中int和Integer的区别文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
1. 理解自动装箱、拆箱 2. 源码分析 3. 原始类型线程安全
举例分析 equals 和 hashcode 方法,hashcode应该怎么样生成 8个基本类型与基本对象的比较:byte与Byte shot与Short int与Integer long与Long float与Float double与Double char与Character
主要介绍了Mybatis返回int或者Integer类型报错的解决办法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
主要介绍了Java int与integer的对比区别的相关资料,需要的朋友可以参考下
本篇文章小编为大家介绍,在Java中 关于int和Integer的区别详解,需要的朋友参考下
主要介绍了简单了解java中int和Integer的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
mybatis返回int会报错,改成Integer封装类型可以解决,具体参考我的博客
本文主要介绍了Java Integer两种转int方法比较。具有很好的参考价值,下面跟着小编一起来看下吧
Mybatis Generator将tinyint映射成Integer的解决办法