小编Car*_*les的帖子

泛型继承多个接口

我正在尝试创建类型为T的列表,其中T实现2个接口.要添加到此列表中,我必须进行演员表,但我觉得我不应该这样做.有更优雅的方式吗?

(generalLabLookup返回a List<Lab>,generalVisitLookup返回a List<Visit>.两者LabVisit实现HasId和HasDate,并且都没有除Object之外的超类.查找方法和codeCheckDao都不是通用的.)

<T extends HasId & HasDate> void labAndVisitAction(int measureYear) {
    LocalDate startDate = LocalDate.of(measureYear, 1, 1);
    LocalDate endDate = LocalDate.of(measureYear, 12, 31);
    List<T> labsAndVisits = new ArrayList<T>();

    labsAndVisits.addAll( (List<T>) codeCheckDao.generalLabLookup(startDate, endDate, excludeSupp));
    labsAndVisits.addAll((List<T>)codeCheckDao.generalVisitLookup(startDate, endDate, excludeSupp));

    //do other stuff
}
Run Code Online (Sandbox Code Playgroud)

java generics casting

1
推荐指数
1
解决办法
202
查看次数

标签 统计

casting ×1

generics ×1

java ×1