百合花太纯洁 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日

悬赏问题

  • ¥30 STK matlab python仿真
  • ¥15 关于IMageEnView 图标定位问题
  • ¥20 求解答(matlab)
  • ¥30 ffmpeg库使用过程中遇到的问题
  • ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • ¥15 关于HTML中title获取xml内容的问题
  • ¥15 fanuc机器人PRIO083数字信号未复原错误,如何解决?
  • ¥20 如何为现有电路板增加远程控制功能
  • ¥15 UE5打包失败,求解决
  • ¥15 请问STM32G431的CANOPEN协议函数怎么写