美文网首页
Integer源码分析

Integer源码分析

作者: 诸葛渔夫 | 来源:发表于2020-12-06 21:42 被阅读0次

Integer 类的常量

MIN_VALUE : -231 , int 类型能够表示的最小值

MAX_VALUE :231 - 1 , int 类型能够表示的最大值

TYPE :表示int 类型的class实例

SIZE :32,用来以二进制补码形式表示 int 值的比特位数

BYTES :4,用来表示二进制补码形式的int值的字节数

Integer 类图

Integer

主要方法

Integer#parseInt(String, int) 方法,通过第一位字符判断正负,遍历每一位,乘以进制累加。

[图片上传失败...(image-332bc6-1607262101295)]

IntegerCache 内部类,缓存了IntegerCache.lowIntegerCache.high 的Integer 对象,而IntegerCache.low 为-128,IntegerCache.high 默认为127。

Integer#valueOf(int) 方法,会先查询缓存,如果命中就返回缓存对象,否则new新对象。

public static Integer valueOf(int i) {
    if (i >= IntegerCache.low && i <= IntegerCache.high)
        return IntegerCache.cache[i + (-IntegerCache.low)];
    return new Integer(i);
}

int基本类型转换成Integer包装类型时,编译器编译后,会通过此valueOf()方法转换,所以针对缓存范围内的装箱,每次返回的是同一个对象,超出缓存范围的,则每次返回不同的对象。

Integer a = 20;
Integer b = 20;
System.out.println(a == b);//true

Integer c = 200;
Integer d = 200;
System.out.println(c == d);//false

相关文章

  • java.lang.Integer#parseInt() 源码分

    java.lang.Integer#parseInt() 源码分析 Integer#parseInt() 是我们经...

  • 享元模式源码分析

    JDK源码分析 Integer Integer的缓存默认范围是:-128~127 Integer可设置最大值:12...

  • Integer源码分析

    title: Integer源码分析date: 2017-09-11 15:07:46tags: javacate...

  • Integer源码分析

    Integer 类的常量 MIN_VALUE : -231 , int 类型能够表示的最小值 MAX_VALUE ...

  • Integer源码分析

    toString() 1、如果Integer的value值正好是 Integer.MIN_VALUE 直接返回 “...

  • Integer源码分析

    Integer Integer是int的包装类而int是一种基本数据类型。 Integer是面向对象的,所以必须实...

  • JDK源码分析 Integer

    说明 对于JDK源码分析的文章,仅仅记录我认为重要的地方。源码的细节实在太多,不可能面面俱到地写清每个逻辑。所以我...

  • java Integer 源码分析

    Interger是int的包装类型,实现了Number接口,具有可比较和可序列化特性: Integer可以表示的范...

  • 2018-04-24常用类

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

  • java基础:Integer — 源码分析

    其他更多java基础文章:java基础学习(目录) 转载自 Java 源码学习系列(三)——Integer学习的过...

网友评论

      本文标题:Integer源码分析

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