Java 中 int 和 Integer 的区别,为什么要有包装类?

Java 中 int 和 Integer 的区别,为什么要有包装类?int 和 Integer 的区别是一个非常基础的问题 但是在面试的过程中却会经常遇到 下面就来梳理一下 int 和 Integer 的区别 以及使用包装类的好处

大家好,欢迎来到IT知识分享网。

int 和 Integer 的区别是一个非常基础的问题,但是在面试的过程中却会经常遇到,下面就来梳理一下 int 和 Integer 的区别,以及使用包装类的好处。

基本数据类型

Java 中,一共有 8 中基本数据类型,而基本数据类型,指的是具有原子性的不可再被拆分的数据类型

  1. boolean
  2. byte
  3. char
  4. short
  5. int
  6. long
  7. float
  8. double

其中 boolean 类型表示判断真假,char 类型表示的是 Unicode 编码中的字符类型,整型类型:byte(1字节),short(2字节),int(4字节),long(8字节),表示浮点数类型:float(4字节),double(8字节)。

基本数据类型的值都是直接被存放在内存中的,通过内存地址可以直接拿到,并且该内存空间也只能存放当前数据类型的数据,而 int 就是其中一种数据类型。

包装类

在 Java 里,每一种基本数据类型都对应着一个包装类。

基础类型

包装类型

boolean

Boolean

byte

Byte

char

Character

short

Short

int

Integer

long

Long

float

Float

double

Double

因为在 Java 中,秉持着一切皆 “对象” 的理念,我们经常需要进行对对象的操作,比如 hashCode() 获取哈希值,getClass()获取类等等,而诸如此类的操作我们就可以通过包装类完成,因为包装类就是一个对象。

包装类的作用:

在 Java 中每个基本数据类型都封装了其对应的包装类,而 int 类型对应的包装类就是 Integer,包装类的存在完成了基本数据类型无法完成的事,比如说作为泛型类型参数,序列化,类型转化,高频区间数据缓存等等。

int 和 Integer 的区别

  1. 数据类型不同:int 是基本数据类型,而 Integer 是包装类数据类型。
  2. 默认值不同:int 类型的默认值是 0,而 Integer 类型的默认值是 null。
  3. 内存中存储方式不同:int 类型存储是在内存中直接存储值,而 Integer 类型在内存中存储的其实是对象引用,Integer 在实例化阶段生成了一个引用指向了 Integer 对象。
  4. 实例化方式不同:int 不需要实例化可以直接定义,而 Integer 需要使用 new 关键字进行实例化。
  5. 变量的比较方式不同:int 可以用 “==” 进行值的比较,而 Integer 需要使用 “equals” 进行比较。

总结一下

int 和 Integer 的区别有 5 点:数据类型不同,默认值不同,内存存储方式不同,实例化不同,变量比较不同。而 Integer 作为包装类,可以做到 int 做不到的事,比如作为泛型类型的参数,序列化,类型转换,高频区间数据缓存等。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/92721.html

(0)
上一篇 2024-10-24 19:15
下一篇 2024-10-24 20:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信