java基本类型缓存

Posted mcalm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基本类型缓存相关的知识,希望对你有一定的参考价值。

    public static void main(String[] args) {
        Integer a = 127;
        Integer b = 127;
        System.out.println("a==b:"+(a==b));  //a==b:true
        Integer c = new Integer(127);
        Integer d = new Integer(127);
        System.out.println("a==b:"+(c==d));  //a==b:false
        Integer e = 128;
        Integer f = 128;
        System.out.println("a==b:"+(e==f));  //a==b:false
    }

对于Byte/Short/Long,是和Integer类似的,范围在-128至127内的,都有对应的缓存

总结,对于上述基本类型对应的包装类,只要在缓存范围内,即-128至127范围(一个字节,补码表示的范围)内,

我们是可以直接用==判断相相等的。

float、double、boolean、char 没有缓存

以上是关于java基本类型缓存的主要内容,如果未能解决你的问题,请参考以下文章

java基本类型缓存

java基本数据类型占用的字节数,秀出天际!

java整数基本数据类型取值范围,技术总监都拍手叫好

Java程序中的常见的四种缓存类型及代码实现

Java程序中的常见的四种缓存类型及代码实现

java包装类的缓存机制(转)