是否有可能给一个引用数组列表不允许它被修改?



如果我想让另一个类能够访问数组列表的内容,例如,在不允许添加或删除任何元素的情况下,通过它来查看里面的内容,这是可能的吗?

在我的脑海中,我认为应该有某种方式来发送一个不可变版本的ArrayList。

如果可以的话,谁能给我举个例子?

谢谢。

有很多方法…

最简单的方法是将数组列表封装在一个不可修改的列表中,使用:

Collections.unmodifiableList(yourArrayList)

返回列表的不可修改视图。

请注意,这并不意味着条目本身不能被修改。

  • 将列表转换为数组(带有toArray(T[] a)),并将其传递给Arrays.asList(),这也将返回一个不可修改的列表。
  • 如果在代码中使用其他库,如Guava,您可以调用ImmutableList.copyOf()或其他变体。

相关内容

最新更新