如何在Java中将泛型对象作为方法参数传递? [复制]
Posted
技术标签:
【中文标题】如何在Java中将泛型对象作为方法参数传递? [复制]【英文标题】:How to pass generic pbject as method parameter in Java? [duplicate] 【发布时间】: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)...
【问题讨论】:
这可能会有所帮助:***.com/questions/450807/… 点赞private <T> List<T> getListObject(SearchResponse response , Class<T> clazz)...
@Eklavya-UpvoteDon'tSay 感谢您的回复,但是我如何用我的新参数 Class按照上面的cmets,我发现了如何解决我的问题,这是通用方法代码:
private <T> List<T> getSearchResult(SearchResponse response , Class<T> clazz)
SearchHit[] searchHit = response.getHits().getHits();
List<T> lisOfObjects = new ArrayList<>();
if (searchHit.length > 0)
Arrays.stream(searchHit).forEach(hit -> lisOfObjects.add(objectMapper.convertValue(hit.getSourceAsMap(),clazz)));
return lisOfObjects;
【讨论】:
以上是关于如何在Java中将泛型对象作为方法参数传递? [复制]的主要内容,如果未能解决你的问题,请参考以下文章