关于泛型方法的疑问,对于这种参数没有泛型,返回值为泛型的泛型方法,如何确定泛型的具体类型?
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;
}
public Long getCount(Connection conn) {
String sql = "select count(*) from customers";
return getValue(conn, sql);
}
运行是成功的,返回了一个Long类型。不明白怎么成功的