如果List(或任何Collection)中存储的对象类型是可变的,那么问题的第一部分是Java集合和对象引用如何工作的固有问题。仅仅因为一个对象包含在一个集合中,并没有对我可以使用(或_to)该对象做什么设置任何限制。 话虽如此,如果列表中的对象是不可变的(例如,String、LocalDate,或其他一些值对象),则您无法修改它们。 Unmodifiable list 至于第二部分,您需要一个不可修改的集合,为此,您可以简单地使用java.util.Collections.unmodifiableList(List<? extends T>)创建一个集合。或者在Java 9+中,使用List.of或List.copyOf创建一个不可修改的列表。 固定大小列表 如果您想要的是一个List,它不能添加或删除,但可以替换单个元素,那么请考虑third-party库: org.apache.commons.collections4.list.FixedSizeList<E> from the Apache Commons Collections. org.eclipse.collections.api.list.FixedSizeList in Eclipse Collections.