[英]Why are “TypeToken Collections” Considered Typesafe? (Effective Java #29)
[英]Typesafe effectively read only java collections?
我正在为 collections 搜索一个 java 库,没有允许突变的方法。 有效不可变只读 collections。
我的意思是,没有方法。 与通常的 Java 不可变 collections 不同,它具有add
或remove
等方法,在调用时会抛出异常。 不...我希望编译器让我知道我正在尝试做一些不允许的事情,而不是在运行时出现一些错误。
我知道它存在是因为我用过它,但我不记得这样的库的名称。
Eclipse Collections: https://www.eclipse.org/collections/
他们自己关于不可变 collections 的指南说:
Eclipse Collections 中的所有基本容器都具有可变和不可变(不可更改)forms 的接口。这与 JCF model 有所不同,其中大多数容器是可变的。
不可变集合就是这样——一旦创建,就永远无法修改,在其整个生命周期内保留相同的内部引用和数据。 一个不可变集合等于对应的具有相同内容的可变集合;
MutableList
和ImmutableList
可以相等。
Guava的不可变 collections使用@Deprecated
声明可变方法,因此使用它们会发出编译器警告。
这可能是两全其美的方法,因为它允许在需要Collection
的地方传递ImmutableCollection
。
我正在为 collections 搜索 java 库,但没有允许突变的方法。 有效不可变只读 collections。
我的意思是,没有方法。 不像通常的 Java 不可变 collections 具有add
或remove
等方法,在调用时会引发异常。 不...我希望编译器让我知道我正在尝试做一些不允许的事情,而不是在运行时出现一些错误。
我知道它的存在是因为我使用过它,但我不记得这样的库的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.