Java教程——int与Integer的区别
首先说一下int和Integer的区别:
- int 是基本数据类型,Integer是int的包装类。注意:后者的类型是“类”。例如使用泛型,List<Integer> numList;
- int初值0,integer是null。
下面看具体例子:
package syswar.cc;
public class IntegerCompare {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer a1 = 2;
Integer a2 = 2;
Integer b1 = 150;
Integer b2 = 150;
Integer c1 = new Integer(2);
Integer c2 = new Integer(2);
Integer d1 = new Integer(150);
Integer d2 = new Integer(150);
System.out.println("a1==a2?" + (a1==a2));
System.out.println("b1==b2?" + (b1==b2));
System.out.println("c1==c2?" + (c1==c2));
System.out.println("d1==d2?" + (d1==d2));
}
}
运行结果:
a1==a2?true
b1==b2?false
c1==c2?false
d1==d2?false
为什么是这个结果呢?我们先比较a和b两组,Integer初始化时,缓存Integer对象数据,这些Integer对象对应的int值为byte范围,即[-128,127]。
当直接给Integer赋int值时,如果值得范围为[-128,127],Integer直接从缓存中取Integer对象,因此,当直接赋的int值处于[-128,127]时,Integer对象为相同的对象。
而通过new方式取的Integer对象,是直接从堆里面分配的对象,因此,不管具体的int值为多少,==判断的结果都是false
Java教程——int与Integer的区别的更多相关文章
- java 中int与integer的区别
int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型 ...
- java中int和Integer的区别?为什么有了int还要有设计Integer?
参考https://blog.csdn.net/chenliguan/article/details/53888018 https://blog.csdn.net/myme95/article/det ...
- java中int和Integer的区别
Integer与int的种种比较你知道多少? 转载自http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html 如果面试 ...
- Java中 int和Integer的区别+包装类
--今天用Integer 和Integer 比较 发现有问题,于是去查了查. 1.Java 中的数据类型分为基本数据类型和引用数据类型 int是基本数据类型,Integer是引用数据类型: Inget ...
- Java中int与Integer的区别
转自https://www.cnblogs.com/guodongdidi/p/6953217.html import java.lang.Integer; public class intDemo{ ...
- java 基础 --int 和Integer的区别
感到脸红:int是整形 -128~127 Integer是正整型,你怎么会想到这样的回答,妈的,有脑子吗?!!! 1,int是基本数据类型,初始为0,Integer为封装类,初始为null ①无论如何 ...
- 【JAVA】详解在JAVA中int与Integer的区别以及背后的原因。
区别 首先我们要明确,这两点之间有什么区别? 主要有以下几点: 数据类型不同:int是基础数据类型,而 Integer是包装数据类型: 默认值不同:int的默认值是 0,而 Integer的默认值是 ...
- java里int和Integer什么区别
Integer i=0; i是一个对象 int i=3; i是一个基础变量 Integer i=0; 这种写法如果没记错,在JAVA1.5之前是会报错的,自动的加解包是1.5的新特性 必须写成 Int ...
- java int与integer的区别
int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型 ...
随机推荐
- [css]inline-block
能被父容器居中.能设置高度宽度和margin.不会像table或div那样占一正行……——这就是inline-block——记得这是浏览器默认样式告诉你的.
- Oracle10g完全卸载正确步骤
Oracle卸载要求比较严格,不能简单的卸载就完事了:当然Oracle卸载也没有那么难,只是步骤比较多.Oracle10g还是Oracle11g卸载步骤都是一样的.下边详细介绍一下. 找到Oracle ...
- android widget的中文文档
下文是我翻译于 App Widgets的文章,如果有不当之处请大家指出 app widget是一种嵌入在其他应用(例如主屏幕)和并且能偶接受间接性更新的小应用,你可以自己提供app widget pr ...
- linux搜索jar内容
linux搜索 spring-beans-2.5.6.jar 内容 1.jar tvf spring-beans-2.5.6.jar -c 创建新的归档文件 -t 列出归档目录 -x 解压缩 ...
- java反射快速入门(一)
本文会从以下几个方面讲起 ① 反射的简单解释 ② java反射的API接口 及 demo ③ 反射的优缺点.应用场景 一.什么是反射? java反射:在程序运行中动态获取类的信息,及动态调用对象的方法 ...
- 教你50招提升ASP.NET性能(十二):在生产环境,仔细考虑你需要记录哪些日志
(18)When in production, carefully consider what you need to log 招数18: 在生产环境,仔细考虑你需要记录哪些日志 Many peopl ...
- SQL 查询横表变竖表
SQL 查询横表变竖表 /*普通行列转换 假设有张学生成绩表(tb)如下:Name Subject Result张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 ...
- ArcGIS教程:加权叠加
摘要 使用经常使用測量比例叠加多个栅格数据,并依据各栅格数据的重要性分配权重. 插图 插图中,两个输入栅格已又一次分类为 1 至 3 三种公共測量级别.为每一个栅格均分配了一个影响百分比.这些像元值与 ...
- 了解undefined、null、NaN的区别
1.常规的解释,null是个对象,表示空值,undefined也是个对象,表示没有定义 2.详细分析 null 书上的解释(Javascript权威指南),Javascript的关键词null是一种特 ...
- 解决Windows2008Server上PLSQL登录时报ORA-12557
公司的Oracle服务端是安装在一台Linux服务器上,版本号为11.1.0.7.0.我们开发的系统部署在Windows 2008 Server(x64),因为偶尔需要调用Oracle数据库,所以最开 ...