public static void main(String[] a) {test1();        }static void test1() {// Integer的自动拆装箱的陷阱(整型数-128到127的值比较问题)out.println("-------------------");Integer x = new Integer(123);Integer y = new Integer(123);out.println(x == y);out.println(x.equals(y));out.println("-------------------");Integer z = Integer.valueOf(123);Integer w = Integer.valueOf(123);out.println(z == w);out.println(z.equals(w));out.println("-------------------");Long a = Long.valueOf(127);Long b = Long.valueOf(127);out.println(a == b);out.println(a.equals(b));out.println("-------------------");Long c = Long.valueOf(128);Long d = Long.valueOf(128);System.out.println(c == d);System.out.println(c.equals(d));}

输出:

-------------------
false
true
-------------------
true
true
-------------------
true
true
-------------------
false
true

Java里面对处在在-128127之间的Integer值,用的是原生数据类型int,会在内存里供重用,也就是说这之间的Integer值进行==比较时只是进行int原生数据类型的数值比较,而超出-128127的范围,进行==比较时是进行地址及数值比较。

在Kotlin中,写代码的时候不再有 int, long 等基本类型,Kotlin中统一都是引用类型。

源代码工程:https://github.com/EasyKotlin/kotlin_tutorials

Integer的自动拆装箱的陷阱(整型数-128到127的值比较问题)相关推荐

  1. 包装类、正则表达式、自动拆装箱基本知识总结

    包装类 概述:就是对基本数据类型数据进行包装的类[基本数据类型对应的引用数据类型] byte-Byte short------Short int-------Integer long----Long ...

  2. java integer valueof_一文读懂什么是Java中的自动拆装箱

    本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...

  3. [转载] 什么是Java中的自动拆装箱 integer

    参考链接: Java中autoboxing自动装箱整数对象的比较 本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 1.基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class ...

  4. 一文读懂什么是Java中的自动拆装箱

    本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...

  5. Java之自动拆装箱及享元模式应用

    首先,来说一下关于编译器蜜糖(compiler suger)的问题,它给我们带来便利的同时,也埋下了一些陷阱,像foreach的增强,自动拆装箱等,本节 一起来学习一下蜜糖之一的自动拆装箱机制. 一. ...

  6. 关于Java的自动拆装箱以及会带来的问题

    首先介绍下几个基本的概念 基本数据类型 基本数据类型,是Java中不同类(Class)的特殊类型.它是我们编程中使用最频繁的类型. J Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次 ...

  7. 深入理解Java包装类与自动拆装箱

    在Java中,针对八种基本数据类型定义了相应的引用类型-包装类(封装类) 有了类的特点,就可以调用类中的方法,Java才是真正的面向对象. 八种基本数据类型对应的包装类如下图所示: 基本数据类型与包装 ...

  8. java基础第九天_多线程、自动拆装箱

    1.蜜蜂和熊的生产消费关系,熊在蜂蜜满10斤吃掉.蜜蜂一次生产一斤蜂蜜,且蜜蜂生成一斤蜂蜜花费的时间是10s. 十只蜜蜂和两只熊. 2.取出两个字符串中最大的公共子串. 3.StringBuffer是 ...

  9. java基本数据类型自动转包装类_Java基础教程之基本类型数据类型、包装类及自动拆装箱...

    前言 我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, L ...

最新文章

  1. 分割数组(将数组三等分)
  2. seaborn使用boxplot函数进行箱图可视化(使用色彩调色板自定义设置箱图的颜色、在boxplot函数内设置palette参数自定义调色板)
  3. ​Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机
  4. python 协程_Python 协程与 Go 协程的区别(一)
  5. 四旋翼建模与开源飞控算法(草稿,待整理)
  6. Qt for QNX
  7. 快乐学算法之:字典树Trie
  8. 《此生未完成》痛句摘抄(4)
  9. SpringBoot—自定义线程池及并发定时任务模板
  10. spring整合中application.xml配置
  11. java构成对象的三要素_20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告...
  12. android 获取芯片版本_谷歌:未来Android手机将获得4年软件更新
  13. 在windows下如何批量转换pvr,ccz为png或jpg
  14. 本特利3300XL 25mm前置器 330780-50-CN
  15. 数学建模多元分析实例
  16. OpenCV角点检测—Harris,SIFT,ORB(7)
  17. Linux XFS文件系统修复
  18. DxO FilmPack 5 for Mac(胶片模拟效果滤镜软件)
  19. 量化指标公式源码_五行量化副图指标 源码 通达信
  20. c++ 头歌实训 第四关 日历打印

热门文章

  1. SQL 高效的万能分页存储过程
  2. java 内部类 单例_确保对象的唯一性——单例模式 (四):一种更好的单例实现方法(静态内部类)...
  3. DQL 学习2 -- DQL声明
  4. Ajax应用简单实例
  5. stringstream的使用
  6. 无线通信信道的衰落特性(大尺度衰落和小尺度衰落)
  7. STM32编译环境、建立工程模板以及程序下载
  8. cdn.cache.php,CDN缓存不命中诊断 - 在线工具
  9. 导出标签_如何从系统导出审计要求的日记账
  10. Python Web项目自定义虚拟环境