Integer的自动拆装箱的陷阱(整型数-128到127的值比较问题)
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的值比较问题)相关推荐
- 包装类、正则表达式、自动拆装箱基本知识总结
包装类 概述:就是对基本数据类型数据进行包装的类[基本数据类型对应的引用数据类型] byte-Byte short------Short int-------Integer long----Long ...
- java integer valueof_一文读懂什么是Java中的自动拆装箱
本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...
- [转载] 什么是Java中的自动拆装箱 integer
参考链接: Java中autoboxing自动装箱整数对象的比较 本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 1.基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class ...
- 一文读懂什么是Java中的自动拆装箱
本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...
- Java之自动拆装箱及享元模式应用
首先,来说一下关于编译器蜜糖(compiler suger)的问题,它给我们带来便利的同时,也埋下了一些陷阱,像foreach的增强,自动拆装箱等,本节 一起来学习一下蜜糖之一的自动拆装箱机制. 一. ...
- 关于Java的自动拆装箱以及会带来的问题
首先介绍下几个基本的概念 基本数据类型 基本数据类型,是Java中不同类(Class)的特殊类型.它是我们编程中使用最频繁的类型. J Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次 ...
- 深入理解Java包装类与自动拆装箱
在Java中,针对八种基本数据类型定义了相应的引用类型-包装类(封装类) 有了类的特点,就可以调用类中的方法,Java才是真正的面向对象. 八种基本数据类型对应的包装类如下图所示: 基本数据类型与包装 ...
- java基础第九天_多线程、自动拆装箱
1.蜜蜂和熊的生产消费关系,熊在蜂蜜满10斤吃掉.蜜蜂一次生产一斤蜂蜜,且蜜蜂生成一斤蜂蜜花费的时间是10s. 十只蜜蜂和两只熊. 2.取出两个字符串中最大的公共子串. 3.StringBuffer是 ...
- java基本数据类型自动转包装类_Java基础教程之基本类型数据类型、包装类及自动拆装箱...
前言 我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, L ...
最新文章
- 分割数组(将数组三等分)
- seaborn使用boxplot函数进行箱图可视化(使用色彩调色板自定义设置箱图的颜色、在boxplot函数内设置palette参数自定义调色板)
- ​Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机
- python 协程_Python 协程与 Go 协程的区别(一)
- 四旋翼建模与开源飞控算法(草稿,待整理)
- Qt for QNX
- 快乐学算法之:字典树Trie
- 《此生未完成》痛句摘抄(4)
- SpringBoot—自定义线程池及并发定时任务模板
- spring整合中application.xml配置
- java构成对象的三要素_20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告...
- android 获取芯片版本_谷歌:未来Android手机将获得4年软件更新
- 在windows下如何批量转换pvr,ccz为png或jpg
- 本特利3300XL 25mm前置器 330780-50-CN
- 数学建模多元分析实例
- OpenCV角点检测—Harris,SIFT,ORB(7)
- Linux XFS文件系统修复
- DxO FilmPack 5 for Mac(胶片模拟效果滤镜软件)
- 量化指标公式源码_五行量化副图指标 源码 通达信
- c++ 头歌实训 第四关 日历打印