当前位置:网站首页>guava:Collections.unmodifiableXXX创建的collection并不immutable

guava:Collections.unmodifiableXXX创建的collection并不immutable

2022-07-06 13:10:00 amadeus_liu2

一、示例

package com.example.app;

import com.google.common.collect.ImmutableSet;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class ImmutableTest {
    public static void main(String[] args) {
        List<String> stringList=new LinkedList<>();
        stringList.add("abc");
        stringList.add("def");

        List<String> stringList1 = Collections.unmodifiableList(stringList);
        stringList.remove(0);
        System.out.println(stringList1);
    }
}

运行程序输出:
在这里插入图片描述
不能通过Collections.unmodifiableXXX创建的引用修改对象,但因原始的stringList是可以修改的,而stringList1和stringList指向同一个对象,stringList修改必然会使stringList1发生变化。

原网站

版权声明
本文为[amadeus_liu2]所创,转载请带上原文链接,感谢
https://blog.csdn.net/amadeus_liu2/article/details/125605467