【发布时间】:2009-07-24 13:41:42
【问题描述】:
假设我有这门课:
public class BaseJob{
String name;
public void setName(String name){
this.name=name;
}
public String getName()
{
return name;
}
}
和另一个扩展它的类:
public class DetailedJob extends BaseJob{
public void doThing();
}
此外,我在另一个类中有这个方法:
List<BaseJob> getSomeJobs()
现在,我的问题是:
如果我确定返回的每个 BaseJob 确实是DetailedJob,是否可以避免在返回的getSomeJobs 列表中按顺序转换每个项目?
换一种说法,除了以下之外还有其他解决方案来投射列表中的所有项目:
List<BaseJob> baseJobList = getSomeJobs();
List<DetailedJob> detailedJobList = new ArrayList<DetailedJob>();
for (BaseJob baseJob : baseJobList)
detailedJobList.add((DetailedJob) baseJob);
【问题讨论】:
标签: java collections