前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础--int与Integer区别

Java基础--int与Integer区别

作者头像
河岸飞流
发布2020-02-13 08:46:44
4540
发布2020-02-13 08:46:44
举报
文章被收录于专栏:开发杂记开发杂记

看过java相关入门开发的书籍的应该都知道,这个标题其实涉及到两个问题:

  1. java基本数据类型和引用类型
  2. 自动拆箱自动装箱 下面就这两个问题进行一下总结复习。
一、java基本数据类型和引用类型

java在最初设计的时候就提供了8种基本数据类型和对应的8种引用类型。 基本数据类型|封装类型 ---|--- byte|Byte short|Short int|Integer long|Long float|Float double|Double boolean|Boolean char |Character

二、自动拆箱和自动装箱
代码语言:javascript
复制
Integer n = 100 //编译器自动使用Integer.valueOf(int)  称为自动装箱
int x = n //编译器自动使用 Integer.intValue() 称为自动拆箱
三、两者之间区别
  • int是基本类型,Integer是引用数据类型
  • int默认值是0,Integer默认是null
  • int类型直接存储数值,Integer需要实例化对象,指向对象的地址。

最后通过一个示例,帮助检测自己是否记住了

代码语言:javascript
复制
    public class IntTest {
    public static void main(String[] args) {
        int a = 1;
        int b = 1;

        Integer c = new Integer(1);
        Integer d = new Integer(1);

        Integer e = 1;
        Integer f = 1;

        Integer g = 130;
        Integer h = 130;

        Integer i = new Integer(130);
        int j = 130;

        System.out.println(a == b);
        System.out.println(c == d);
        System.out.println(c == a);
        System.out.println(g == h);
        System.out.println(i == j);
    }
}
//执行结果如下
Connected to the target VM, address: '127.0.0.1:65049', transport: 'socket'
true
false
true
false
true
小结
  1. Java核心库提供的包装类型可以把基本类型包装为class;
  2. 自动装箱和自动拆箱都是在编译期完成的(JDK>=1.5);
  3. 装箱和拆箱会影响执行效率,且拆箱时可能发生NullPointerException;
  4. 包装类型的比较必须使用equals();
  5. 包装类型提供了大量实用方法;
  6. Integer会对-128~127的值进行缓存,具体查看jdk源码;
  7. 基本类型和引用类型进行比较时会有一个自动拆箱操作。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、java基本数据类型和引用类型
  • 二、自动拆箱和自动装箱
  • 三、两者之间区别
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档