除了记录它(显然它也应该记录),使用特殊的返回类型(我很担心将自己限制为 ImmutableX)或让用户在运行时发现,还有其他方法可以告诉用户他们从所述 API 收到的集合是不可修改/不可变的 API?
是否有任何命名约定或标记注释普遍表示同一件事?
编辑:不可修改和不可变并不意味着同一件事,但就这个问题而言,它们足够相似。问题基本上归结为让用户知道返回的对象没有完全遵守其约定(即一些常见操作会抛出运行时异常)。
java immutability
immutability ×1
java ×1