Java:包装类的缓存机制是?

对包装类进行直接赋值时,若值在缓存区内,则会指向执行缓存区的地址。(通过new赋值则不会)

缓存范围:

    1、Boolean,全部缓存。

    2、Character、Byte、Short、Integer、Long,缓存范围:-128 ~ 127

    3、Float、Double,无缓存。


 

例子1:

  直接赋值缓存内的值。

    public static void main(String[] args) {
        //直接从缓存区内拿,地址一致
        Integer integer1 = 127;
        Integer integer2 = 127;
        System.out.println(integer1==integer2);
    }

输出:

例子2:

  直接赋值缓存外的值。

    public static void main(String[] args) {
        //缓存区拿不到,只能自己new一个对象,所以地址不一致
        Integer integer1 = 128;
        Integer integer2 = 128;
        System.out.println(integer1==integer2);
    }

输出:

posted @ 2023-03-09 17:01  在博客做笔记的路人甲  阅读(95)  评论(0编辑  收藏  举报