【发布时间】:2021-02-13 17:23:21
【问题描述】:
我有一个方法:
private List<ApplicationForVacancy> createListOfApplicationsForVacancy(List<Document> documents) {
return documents.stream()
.filter(d -> d instanceof ApplicationForVacancy)
.map(d -> (ApplicationForVacancy) d)
.collect(Collectors.toList());
}
但我想在参数中传递类的名称/类的类型并返回方法的类型,如下所示:
private List<TypeOfSomeClass> createList (List<Document> documents, String or Type typeOfSomeClass) {
return documents.stream()
.filter(d -> d instanceof typeOfSomeClass)
.map(d -> (typeOfSomeClass) d)
.collect(Collectors.toList());
}
有可能吗?我该怎么做?
【问题讨论】:
-
并非总是如此,但在使用时经常不得不使用
instanceof,这表明设计不佳。为什么您的程序需要根据列表中的类型对列表进行排序? -
我知道。那是面试考试的强制班级设计。我无法改变它。 List
包含几种类型,我需要将其分隔为几个单独的列表,我想用一种方法来完成。
标签: java oop object methods types