首页
学习
活动
专区
圈层
工具
发布

Java中int和Integer的区别

Integer Long Float Double Java中的基本数据类型只有8个,除了基本类型(primitive type),剩下的都是引用类型(reference type)。...二、三种引用类型: 1.类class 2.接口interface 3.数组array 三、int和Integer的区别 1、Integer是int的包装类,int则是java的一种基本数据类型 2、Integer...变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较) Integer...(因为非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同) Integer i = new Integer(...i = 100 ;时,会翻译成为 Integer i = Integer.valueOf(100);,而java API中对Integer类型的valueOf的定义如下 public static Integer

1.2K10

Java int 与 Integer 区别

学习借鉴(其实搬了别人的好多)和自己的理解,可能会有较多错误,如有疑问联系我呀。 int  是基本数据类型, Integer 是引用类型,也就是一个对象。...int 储存的是数值,Integer 储存的是引用的对象的地址。 int 占用内存少、Integer 对象占用内存多,因为它需要存储对象的元数据。...不是用 new 生成的 Integer 变量与 new Integer ( ) 生成的变量不同,因为前者是在常量池中的,后者是在堆中的,两个的地址不同。...Integer 变量(无论是否 new 生成的)与 int 类型变量来比较,结果都是 true 。这因为要比较时, Integer都会自动拆箱成 int ,这样子比较就是在比较数值的大小了。...import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc

55220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java int和Integer的区别

    基础int可以存储整数Integer可以存储整数Integer是int的包装类型Integer是对象,可以为null关键== 比较两个变量对于int来说,只要值相等,那就返回true,没什么好讲的 对于...new Integer(10); Integer f = new Integer(10); Integer h = new Integer(10); Integer...因为 关于 Integer 的值缓存,这涉及 Java 5 中另一个改进。构建 Integer 对象的传统方式是直接调用构造器,直接 new 一个对象。...但是根据实践,我们发现大部分数据操作都是集中在有限的、较小的数值范围,因而,在 Java 5 中新增了静态工厂方法 valueOf,在调用它的时候会利用一个缓存机制,带来了明显的性能改进。...也就是说,如果不实用new创建Integer对象,那么当数字在-128到127之间,可以直接用 == 比较,会返回true(因为它们地址相同,都在缓存中)

    27510

    java中int和Integer对比的一些坑

    Integer与int类型的关系 Integer是int的包装类,int的默认值是0,而Integer的默认值是null(jdk1.5的新特性 自动装箱和拆箱,Integer.valueOf() 和xx.intValue...() ), 需要注意的是Integer里面默认的缓存数字是-128-127, 1、Integer与Integer相互比较,数据在-128-127范围内,就会从缓存中拿去数据,比较就相等;如果不在这个范围...2、Integer和int类型相比,在jdk1.5,会自动拆箱,然后比较栈内存中的数据,所以没有不想等的情况 int跟int比较 int数据类型,都是在栈内存中存储,如果这个数字在栈内存中存在就会直接指向这个内存地址...,如果不存在,就会重新开辟内存空间,所以int和int类型的比较,相同的值不会存在内存不等的情况 八个基本数据类型不能看作对象(这点很特殊),存放在栈中。...栈内操作速度快,创建销毁很容易 int跟Integer比较 会自动拆箱,变成int与int对比 Integer跟Integer比较   在-128~127的范围内,==会相等,获取的cache的地址

    2.3K10

    Java基础--int与Integer区别

    ---- 看过java相关入门开发的书籍的应该都知道,这个标题其实涉及到两个问题: java基本数据类型和引用类型 自动拆箱和自动装箱 下面就这两个问题进行一下总结复习。...一、java基本数据类型和引用类型 java在最初设计的时候就提供了8种基本数据类型和对应的8种引用类型。...|Boolean char |Character 二、自动拆箱和自动装箱 Integer n = 100 //编译器自动使用Integer.valueOf(int) 称为自动装箱 int x = n...//编译器自动使用 Integer.intValue() 称为自动拆箱 三、两者之间区别 int是基本类型,Integer是引用数据类型 int默认值是0,Integer默认是null int类型直接存储数值...,Integer需要实例化对象,指向对象的地址。

    78810

    java integer long 转换_long(Long)与int(Integer)之间的转换

    1.将long型转化为int型,这里的long型是基础类型: long a = 10; int b = (int)a; 2.将Long型转换为int 型的,这里的Long型是包装类型: Long a =...10; int b=a.intValue(); 3.将Long型转换为 Integer 型的,这里的Long型是包装类型: Long a = 10;; Integer b=a.intValue();...4.将int型转化为long型,这里的int型是基础类型: int a = 10;long b = (int)a; 5.将Integer型转化为long型,这里的Integer型是包装类型: int a...(); 总结:这里的转化就是要注意Java的八种基础数据类型以及八种包装数据类型的区别 基本类型和封装类的转换 Int转Integer: Integer integer = new Integer(int...: float c = Float.floatValue(); Java语言是一种强类型的语言。

    7.8K20

    Java中的BigDecimal类和int和Integer总结「建议收藏」

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Java中的BigDecimal类和int和Integer总结「建议收藏」,希望能够帮助大家进步!!!...所以接下来我们就可以使用Java中的BigDecimal类来解决这类问题。 Java中float的精度为6-7位有效数字。...和Integer的区别 int是java提供的8种原始类型之一,java为每个原始类型提供了封装类,Integer是int的封装类。...比如未参加考试的学生和考试成绩为0的学生 加减乘除和比较运算较多,用int 容器里推荐用Integer。 对于PO实体类,如果db里int型字段允许null,则属性应定义为Integer。...当然,如果系统限定db里int字段不允许null值,则也可考虑将属性定义为int。

    1.7K10

    int与integer的区别

    int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型...(面向过程留下的痕迹,不过是对java的有益补充),Integer 是一个类,是int的扩展,定义了很多的转换方法   类似的还有:float Float;double Double;string String...Java中每种内建类型都有相应的外覆类。   Java中int和Integer关系是比较微妙的。...关系如下:   1.int是基本的数据类型;   2.Integer是int的封装类;   3.int和Integer都可以表示某一个数值;   4.int和Integer不能够互用,因为他们两种不同的数据类型...对象一样来进行处理,那么就要用Integer来声明一个对象,因为java是面向对象的语言,因此当声明为对象时能够提供很多对象间转换的方式,与一些常用 的方法。

    1.5K60

    Java int和Integer有什么区别

    ,int 的包装类就是Integer,从 Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。...,Byte,Short,Integer,Long,Float,Double 一、两者之间的区别 Integer是int的包装类,int则是java的一种基本数据类型 Integer变量必须实例化后才能使用...Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较) package com.joshua317; public class Main...原因: (1)当变量值在-128~127之间时,非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同; (2)...a = 1; Integer b = Integer.valueOf(2); Integer c = new Integer(3); } } 上述代码中第一行与第二行的写法取值使用了值缓存

    1.1K20

    经典面试题-Java中,int和Integer有什么区别

    Java为每个原始类型提供了封装类. Integer是java为int提供的封装类。...int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer...在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0, 所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型...在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其...另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量

    88920

    Integer与int之间的秘密

    相信各位Java行业的”打工人“,不论在日常工作还是学习中,都会接触整数类型的数值,并且还能深情的说出”整数类型一般分为4种“。...那么我问你一个问题,你知道 Java 中可以使用什么类型存储整型数值? 这个问题问的好像有点瞧不起在座各位的样子,嗯。。。那么我换种问法好了,毕竟看完这篇文章的人,将来都是会实现不上班的这个理想的。...int是 Java 的 8 个基本数据类型(byte 、short、char、int、float、double、long、boolean)之一,Java 中这8个基本数据类型的数据也不具备“对象”的特性...所以Demo2运行的结果为true;而Demo3中的128不会被缓存起来,会被重新new一个Integer对象。 接下来,对上述内容进行总结如下。...http://1.int是Java的一种基本数据类型,Integer是int的包装类。

    78320

    javaint和integer的区别_java中integer

    : int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类);因此在类进行初始化时...= 1;       int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充),Integer 是一个类,是int的扩展,定义了很多的转换方法   类似的还有:float Float...Java中每种内建类型都有相应的外覆类。   Java中int和Integer关系是比较微妙的。...关系如下:   1.int是基本的数据类型;   2.Integer是int的封装类;   3.int和Integer都可以表示某一个数值;   4.int和Integer不能够互用,因为他们两种不同的数据类型...对象一样来进行处理,那么就要用Integer来声明一个对象,因为java是面向对象的语言,因此当声明为对象时能够提供很多对象间转换的方式,与一些常用 的方法。

    71120

    Integer、new Integer() 和 int 比较的面试题

    int 则是 java 的一种基本数据类型 2、Integer 变量必须实例化后才能使用,而int变量不需要 3、Integer 实际是对象的引用,当new一个 Integer时,实际上是生成一个指针指向此对象...;而 int 则是直接存储数据值 4、Integer的默认值是null,int的默认值是0 Integer、new Integer() 和 int 的比较 1、两个 new Integer() 变量比较...因为 Integer变量 指向的是 java 常量池 中的对象, 而 new Integer() 的变量指向 堆中 新建的对象,两者在内存中的地址不同。...(i); } java对于-128到127之间的数,会进行缓存。...4、 int 变量 与 Integer、 new Integer() 比较时,只要两个的值是相等,则为true 因为包装类Integer 和 基本数据类型int 比较时,java会自动拆包装为int ,

    1.1K30

    JAVA面试50讲之4:int和Integer的区别

    1.5 int和Integer的区别 ---- 1、Integer是int的包装类,int则是java的一种基本数据类型 2、Integer变量必须实例化后才能使用,而int变量不需要 3、Integer...变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较) Integer...(因为非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同) Integer i = new Integer(...i = 100 ;时,会翻译成为Integer i = Integer.valueOf(100);,而java API中对Integer类型的valueOf的定义如下: public static Integer...2.1 Java 5 中引入缓存特性 在 Java 5 中,为 Integer 的操作引入了一个新的特性,用来节省内存和提高性能。

    1.4K20

    Java中Integer的详解

    在Java中有int和integer两种类型,简单的说Integer是int的引用类型,但是这个引用的类型比较特殊,下面看几个demo: Integer a1 = 140; Integer a2 = 140...: false true 原因: Java对于-128到127之间的数,会进行缓存,Integer i = 127时,会将127进行缓存,下次再写Integer j = 127时,就会直节从缓存中拿取...如果用Integer和int的值相比,会怎么样呢?...(g1 == g2); 运行结果是: true true true 原因: 当Integer和int对比的时候,Integer会自动拆箱成为int进行对比。...从上面的结论我们得出: Integer在小于-128到127可以看似是值类型,超过这个范围后,会变成引用类型 Integer与int对比的时候会自动拆箱成int,再进行对比 综合上面,我开始有个一个疑问

    1.4K11
    领券