美文网首页
包装类 Integer 源码解析

包装类 Integer 源码解析

作者: steamed_bun | 来源:发表于2016-09-25 11:08 被阅读0次
 Integer源码

由上面的源码可知,Integer类继承了Number类并且实现了Comparable接口,故分为三个部分来讲:

一、继承Number类作用;

Number类中只有构造方法和几个抽象方法:

而Integer继承后重写其方法,作用:将Integer值转为对应的类型;

二、实现Comparable接口的作用;

Comparable接口本身就更简单了,只有一个方法:

Integer实现接口后同样需要重写其方法:

三、Integer类自己本身特性

 1、需要注意的是Integer也重写了equals(Object obj) 

故若比较的值类型都是Integer时,equals()和==作用是相同的。

2、还需注意一点是由于Integer类有如下机制:

即当值在-128~127之间时,就会将值放入缓存常量池中,而不是在堆内存中 new 一个新的;

故判断:

output:

具体解释:

①、第一个为true,而第二个为false,就是上面讲的原因;

②、第三个false是因为new关键字是在堆中新建一个对象,与data1的内存地址肯定不同,故使用==肯定为false;

③、第四个true是因为Integer的valueOf()同样使用了上述机制,如下:

3、Integer中的value是final,故Integer是不可变的。

PS:如果有什么问题欢迎指正O(∩_∩)O~~

相关文章

  • 包装类 Integer 源码解析

    由上面的源码可知,Integer类继承了Number类并且实现了Comparable接口,故分为三个部分来讲: 一...

  • java.lang.Integer源码分析

    Integer 本文源码基于JDK8 Integer也是我们经常使用的工具类、包装类,此文主要用于记录学习笔记,主...

  • 2018-04-24常用类

    常用类_包装类_Integer_Number_JDK源码分析 把一个数zuoweiobject处理

  • Integer包装类源码阅读

    背景:很多面试题都有Java拆装箱问题,其中Integer与int区别最多,下面结合自己看的一些视频及文章做下总结...

  • JAVA常用类

    一.包装类 1.基本类型的包装类 (1)Integer 类 Integer 构造方法: ①:Integer(int...

  • 11 java.lang.Long

    Long的源码,基本跟Integer类类似,所以这里贴出源码,直接注释进行理解。本章内容转载自Java源码解析,L...

  • Integer Integer.valueOf和Integer.

    Integer Integer是int的包装类,在Integer中有个常量池类IntegerCache,在 In...

  • Java基本类型与包装类

    基本类型与包装类 Integer包装类的构造方法示例: int i =2;Integer m = new Inte...

  • 包装类_Integer

    1 构造方法 运行结果 2 和int之间的转换(JDK1.5后实现自动拆装箱) 运行结果: 2.2 Integer...

  • JAVA:包装类

    包装类:  Java中的包装类包括:Integer、Long、Short、Byte、Character、Doubl...

网友评论

      本文标题:包装类 Integer 源码解析

      本文链接:https://www.haomeiwen.com/subject/uakfyttx.html