如何在Java中将通用pbject作为方法参数传递?

詹姆士

我正在处理一个 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){...
詹姆士

按照上面的评论,我找到了如何解决我的问题,这是通用方法代码:

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;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中的其他方法上将通用对象作为通用参数传递?

如何在Java中将函数作为参数传递?

如何在Java中将类型作为方法参数传递

如何在Java中将类作为参数传递?

如何在Python中将方法作为参数传递

如何在Java中传递Class作为参数并返回通用集合?

如何在java方法中将数组作为参数传递?

如何在Java中将对象数组作为参数传递

如何在Go中将方法作为参数传递?

如何在Java中将函数作为参数传递

如何在Java中将任何数组作为参数传递?

如何在Swift的方法中将字典作为参数传递?

如何在Swift中将具有关联类型的协议(通用协议)作为参数传递?

如何在Javascript中将对象的方法作为参数传递

如何在Delphi中将通用数组作为开放数组参数传递?

如何在Java中将setter方法传递给方法的参数?

如何在Python中将默认方法作为参数传递

Lambda表达式,如何在自定义方法中将方法作为参数传递

如何在Java中将函数作为参数传递给Callable

如何在Android中将方法作为参数传递?

如何在Java中将泛型列表类作为参数传递给泛型方法?

如何在协议的可选方法中将枚举作为参数传递

如何在Java中将新数组作为参数传递给方法?

如何在Java中将函数作为参数传递以多次运行

如何在java中将类作为参数传递

如何在方法中将密码作为参数传递

如何在“dig”等方法中将参数作为变量传递

如何在 Java 中将类型作为参数传递?

如何在Java中将方法名称作为参数传递