百合花太纯洁 2022-04-04 17:19 采纳率: 100%
浏览 31
已结题

关于泛型方法的疑问,对于这种参数没有泛型,返回值为泛型的泛型方法,如何确定泛型的具体类型?

关于泛型方法的疑问,对于这种参数没有泛型,返回值为泛型的泛型方法,如何确定泛型的具体类型?

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类型。不明白怎么成功的

  • 写回答

2条回答 默认 最新

  • 未聞花名丶 2022-04-04 17:47
    关注

    根据你调用方法的接受类型判断

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月12日
  • 已采纳回答 4月4日
  • 创建了问题 4月4日