将数组列表设为只读

2022-08-31 14:08:29

在Java中,初始化后如何使只读(以便没有人可以添加元素,编辑或删除元素)?ArrayList


答案 1

将 in 放入 Collections.unmodifiableList()。它返回指定列表的不可修改视图。只用这个返回的,而从不使用原来的。ArrayListListArrayList


答案 2

将列表对象传递给 Collections.unmodifiableList()。。请参阅下面的示例。

import java.util.*;

public class CollDemo
{
    public static void main(String[] argv) throws Exception
    {
        List stuff = Arrays.asList(new String[] { "a", "b" });
        List list = new ArrayList(stuff);
        list = Collections.unmodifiableList(list);
        Set set = new HashSet(stuff);
        set = Collections.unmodifiableSet(set);
        Map map = new HashMap();
        map = Collections.unmodifiableMap(map);
        System.out.println("Collection is read-only now.");
    }
}