返回信息流像这样的泛型方法的泛型怎么确定啊?求求大佬解答,我一直没看出来这给E是在哪里确定下来的。
public <E> E getValue(Connection conn,String sql,Object...args){
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.prepareStatement(sql);
for(int i = 0;i < args.length;i++){
ps.setObject(i + 1, args[i]);
}
rs = ps.executeQuery();
if(rs.next()){
return (E) rs.getObject(1);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtils.closeResource(null, ps, rs);
}
return null;
}
这是一条镜像帖。来源:北邮人论坛 / java / #66138同步于 2021/12/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
java泛型方法
a668
2021/12/23镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
应该是的,
【 在 a668 (老炮) 的大作中提到: 】
: 像这样的泛型方法的泛型怎么确定啊?求求大佬解答,我一直没看出来这给E是在哪里确定下来的。
: public <E> E getValue(Connection conn,String sql,Object...args){
: PreparedStatement ps = null;
: ...................
【 在 superheart 的大作中提到: 】
: 有没有这样一种可能,这个方法属于一个泛型类,泛型类型是在构造函数中确定的
它的确是泛型类里的,但和类定义的那个泛型不是同一个。我觉得这里更像楼上所说的是在调用函数时由返回值确定。但我不知道还能这么用。