gpt4 book ai didi

java - 从 Spring JdbcTemplate 的 queryForObject 方法返回泛型类型

转载 作者:行者123 更新时间:2023-11-30 02:03:51 30 4
gpt4 key购买 nike

我想创建一个通用方法,应该如下所示:

public<T,S,R> getCell(S column,R arg){
return jdbcTemplate.queryForObject("select ? from PASS_IND_SP_LINK where PASS_IND_LINK_ID=?", new Object[]{column,arg}, T.class);
}

但是T.class无法编译。我该怎么做才能让这个方法返回 T 类型?

最佳答案

首先,您需要方法的返回类型。但如果你想返回 T 你可以这样做:

 public<T,S,R> T getCell(S val1, R val2, Class<T> theClass){

return jdbcTemplate.queryForObject("select ? from PASS_IND_SP_LINK where PASS_IND_LINK_ID=?", new Object[]{column,arg}, theClass);
}

你也必须通过这门课。泛型中的 T 只是类型的元数据。它不是调用它的方法并获取它的类的实例。您需要将其传递到参数中。像这样的东西:

myObject.getCell("val1" , "val2", String.class);

关于java - 从 Spring JdbcTemplate 的 queryForObject 方法返回泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51930244/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com