【发布时间】:2013-09-25 09:55:42
【问题描述】:
我有这个问题
一种从一个类中删除不需要的细节并返回带有想要的对象的集合的方法。问题是我希望这个方法能够与不同的类一起工作(尽管它们基于一个抽象),所以我使用泛型类型。问题是,有一次我需要创建一个实例,这是不可能的。我寻找了一些出路,但它似乎不适用于我的情况。 所以,代码如下
private <T extends RestMandate> List<T> toRestMandate(List<CardMandate> mandates ) {
List<T> restMandates = new ArrayList<>(mandates == null ? 0
: mandates.size());
if (mandates != null) {
for (CardMandate mandate : mandates) {
restMandates.add(new T(mandate));
}
}
return restMandates;
}
RestMandate 是基类, CardMandate 是我获取信息。有什么想法吗?
【问题讨论】:
-
您想简单地将
List<CardMandate>转换为List<RestMandate>吗? -
实际上是的)问题是 CardMandate 的对象有太多参数,我正在取出它们。如果您有其他更简单的解决方案,我将不胜感激)
-
什么意思对象的参数太多了?
-
对不起,字段太多(取自数据库,我不需要)
-
好吧,现在是展示一些例子的时候了。这并不完全有意义。您不能从对象中删除属性。您是否坚持处理超类-子类关系。不管是什么,发布一个例子。
标签: java generics instantiation