代表曝光文件

问题描述

我正在用 Java 实现一个图形数据结构。在此结构中,顶点表示为包含私有最终 String 值字段的 Vertex 对象。

我的一个方法 vertices() 返回所有顶点的值集。特别是,获得此集合的客户端无法从该集合中获取特定值并将其设置为另一个字符串(因为 final 修饰符)。我应该如何在 vertices() 的 javadoc 中记录这种行为?

解决方法

不幸的是,Java 标准库没有用于不可变集合的接口。

我认为您所能做的就是将您通过 UnmodifiableSet 返回的 Set 包装在 Collections.unmodifiableSet 中,并在 Javadoc 中提及返回的 Set 是不可变的。