【发布时间】:2021-02-08 20:59:24
【问题描述】:
我正在处理一个 Java 项目,我想将一个 Java 对象传递给一个方法以避免代码重复。这是我的代码:
private List<Dog> getListDogs(SearchResponse response) {
SearchHit[] searchHit = response.getHits().getHits();
List<Dog> dogList = new ArrayList<>();
if (searchHit.length > 0) {
Arrays.stream(searchHit).forEach(hit -> dogList.add(objectMapper.convertValue(hit.getSourceAsMap(),Dog.class))
);
}
return dogList;
}
我还有其他对象需要使用相同的方法,例如 Cat 对象和 Horse 对象。您对我如何使我的方法通用以便仅将对象类型作为参数传递有任何想法吗?
类似这样的:
private List<Generic> getListObject(SearchResponse response , GenericObject object){...
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/questions/450807/…
-
点赞
private <T> List<T> getListObject(SearchResponse response , Class<T> clazz){... -
@Eklavya-UpvoteDon'tSay 感谢您的回复,但是我如何用我的新参数 Class
clazz 替换 Animal.class 和 List