区别

首先我们要明确,这两点之间有什么区别?

主要有以下几点:

  • 数据类型不同:int是基础数据类型,而 Integer是包装数据类型;
  • 默认值不同:int的默认值是 0,而 Integer的默认值是 null;
  • 内存中存储的方式不同:int 在内存中直接存储的是数据值,而 Integer实际存储的是对象引用,当 new 一个 Integer 时实际上是生成一个指针指向此对象;
  • 实例化方式不同:Integer 必须实例化才可以使用,而 int 不需要;
  • 变量的比较方式不同:int 可以使用 == 来对比两个变量是否相等,而 Integer一定要使用 equals 来比较两个变量是否相等。

接下来,我们要详细解释一下和为基础数据类型?

基本数据类型

在JAVA中,主要有八种基本数据类型:

1、 整型:byte、short、int、long

2、 字符型:char

3、 浮点型:float、double

4、 布尔型:boolean

基本数据类型是指不可再分的原子数据类型,内存中直接存储此类型的值,通过内存地址即可直接访问到数据,并且此内存区域只能存放这种类型的值。

对于涉及到这些数据类型的运算,JAVA会对其进行自动类型转换。其实我们在写代码的时候经常使用到,比如 short a = 1; int b = a;

而本文中将到的int就是基本数据类型的一种。而Integer是包装数据类型。

包装数据类型

因为 Java的设计理念是一切皆是对象,在很多情况下,需要以对象的形式操作,比如 hashCode()获取哈希值,或者 getClass()获取类、toString()转为字符串等等。在这种情况下,基本数据类型并不符合我们JAVA一切皆为对象的思想,因此我们引入了包装数据类型。

在Java中每个基本数据类型都对应了一个包装类,而 int对应的包装类就是 Integer,包装类的存在解决了基本数据类型无法做到的事情泛型类型参数、序列化、类型转换、高频区间数据缓存等问题。

最新文章

  1. MVC 教程汇总
  2. SharePoint 2013开发入门探索(一)- 自定义列表
  3. MySQL数据类型——数值类型
  4. jsp 环境配置记录
  5. P6 EPPM Manual Installation Guide (Oracle Database)
  6. linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟【转】
  7. shell 进程查询相关的命令
  8. [转] ADO.NET实体框架引发争论
  9. 【STM32】STM32 GPIO模式理解
  10. CSS Filter
  11. 二叉树3种递归和非递归遍历(Java)
  12. 记事本app TOP5(个人观点)
  13. SQL学习笔记---非select操作
  14. c# asp.net mvc使用斑马GK888t打印机打印标签
  15. LeetCode编程训练 - 合并查找(Union Find)
  16. [Swift]LeetCode652. 寻找重复的子树 | Find Duplicate Subtrees
  17. spring集成Hessian的基本使用方法
  18. css min-width和max-width
  19. .NET拾忆:FormData文件上传
  20. Excel技巧--让折线图带面积更直观生动

热门文章

  1. Centroids (换根DP)
  2. KingbaseES V8R3 由于修改系统时间导致sys_rman备份故障案例
  3. KingbaseES中的参数查看与修改
  4. KingbaseES R6 集群测试job管理测试
  5. SpringMvc(四)- 下载,上传,拦截器
  6. 八皇后代码C语言版本
  7. 【loj2538】 【PKUWC 2018】Slay the Spire dp
  8. (数据科学学习手札141)利用Learn Git Branching轻松学习git常用操作
  9. 餐饮行业SRM案例:方正璞华"采云链"携手和府捞面
  10. Windows优先使用IPv4