既然每个人都称赞Google Collections (例如在这里),我怎么找不到和的等价ArrayUtils.toObject()
物ArrayUtils.toPrimitive()
?就这么没用吗?我错过了吗?
1 回答
老实说,我不确定这两种方法中的任何一种是否应该符合与集合相关的操作,因此我想知道为什么它们一开始就在那里。
为了澄清一点,集合通常是一组对象,它们具有一些将它们绑定在一起的语义数据,而数组只是一组预先确定的东西。该语义数据可能是关于接受或拒绝空值、重复项、错误类型的对象或具有不可接受的字段值等的信息。
大多数(如果不是全部)集合确实在内部使用数组,但是数组本身不是集合。要成为一个集合,它需要一些相关的魔法,例如将对象删除和添加到任意位置,而数组不能做到这一点。我非常怀疑您是否会在 Google Collections 中看到任何类型的数组支持,因为数组不是集合。
然而,由于 Google Collections 将成为 Google 的Guava 库的一部分,它是一种通用实用程序类库/框架,您可以从com.google.common.primitives
包中找到您想要的内容,例如Booleans#asList(boolean... backingArray)
和Booleans#toArray(Collection<Boolean> collection)
.
如果您绝对认为它们应该包含与 Apache Commons Collection 相同的方法,.toObject()
并且.toPrimitive()
在其中,您始终可以将功能请求作为新问题提交。