我有一个List<ParentObject>
whereParentObject
定义为:
public class ParentObject
{
ChildObject child1;
// and other stuff...
}
我想通过构造一个包装器列表将其List<ParentObject>
作为不可修改的内容暴露给其他人: List<ChildObject>
public class WrapperList implements List<ChildObject>
{
List<ParentObject> delegateList;
public WrapperList( List<ParentObject> delegateList )
{
this.delegateList = delegateList;
}
// fill in java.util.List methods...
}
我可以采用这种方法并使其发挥作用,但这似乎是一个可能已经普遍解决的问题。是否有一个现有的库可以提供像我提议的那样的列表包装器?大概我会定义一个翻译方法,告诉包装器列表如何ChildObject
从给定的ParentObject
.
基本问题是:这是一个好方法还是有一个库(Guava 或 Apache Commons Collections 或其他东西)已经提供了类似的东西?