当前位置: 首页 > 知识库问答 >
问题:

接口java.util.stream.stream中的方法映射不能应用于给定类型;

濮君植
2023-03-14
protected List<R> getRows(String startDate, String endDate, Function<MapListHandler, R> func){

    ConnectionManager cm = new ConnectionManager();
    List<R> rows = null;
    try(Connection c = cm.getConnection()) {

        String sql = getSql();

        rows = new QueryRunner()
                .query(c, sql, new MapListHandler(), startDate, endDate, startDate, endDate)
                .stream()
                .map(func).collect(Collectors.toList());

    } catch (SQLException e) {
        e.printStackTrace();
    }
    finally {
        cm.closeConnection();
    }

    return rows;
}

无法使用以下消息进行编译:

接口java.util.stream.stream 中的方法映射不能应用于给定类型;[ERROR]必需:java.util.function.function<?超级java.util.map ?extends R>[err]找到:java.util.function.function [err]原因:无法推断类型变量R[err](参数不匹配;java.util.function.function 无法转换为java.util.function.function<?super java.util.map

共有1个答案

勾俊
2023-03-14

MapListHandler将导致查询返回列表 >

这意味着stream()将返回 > 。因此,它的map()方法需要一个函数<?超级映射 ,?扩展R>

当然,MapListHandler不是map 的超级类型,因此func不是map()的有效参数。

 类似资料:
  • 问题内容: 我正在创建一个程序,该程序生成0到9之间的100个随机整数,并显示每个数字的计数。我使用的是十个整数数组 counts 来存储0、1,…,9s的数量。) 编译程序时出现错误: RandomNumbers.java:9:错误:类RandomNumbers中的方法generateNumbers无法应用于给定类型; generateNumbers(); 必需:int [] found:gen

  • 我正在创建一个程序,该程序生成 0 到 9 之间的 100 个随机整数,并显示每个数字的计数。我使用一个由十个整数,计数组成的数组来存储0,1,...,9s的数量。 当我编译程序时,我得到错误: RandomNumbers.java:9:错误:类RandomNumbers中的方法generateNumbers不能应用于给定的类型;< br > generate numbers(); 必需:int[

  • 问题内容: 在我的程序中,我试图在另一个类中调用该方法。 当我编译它时,会弹出一个错误,提示无法应用。它说它需要一个int,没有参数。但是我在方法中调用了一个int ,所以我不知道这是怎么回事。 问题答案: 此代码有两件事: 它调用时不带(您已将其定义为,因此必须给它一个) 每个循环调用两次 您可以这样解决:

  • 我得到了下面的代码,使用数组来查找一些prim数。然而,当试图编译我的用户类PalindromeArrayUser时,它说——“类中的构造函数不能应用于给定的类型” 要求:int。找到:没有论点。原因:实际参数和正式参数列表的长度不同。 但是,我已经向构造器传递了一个int值(与我的蓝图中设计的方式相同)。我不太明白问题来自哪里。谢谢。 这是我的两节课 而这就是我的用户类问题的来源。上面的类编译良

  • 我把这个程序作为我的一个类的项目,编译后,我得到了这个错误: java:21:错误:类Program09中的方法calculateCelsius无法应用于给定类型;双cTemp=calculateCelsius();^必需:int found:无参数原因:实际参数列表和形式参数列表的长度不同Program09。java:24:错误:类Program09中的方法calculateCelsius无法应

  • 我有2个子类:职员、学生,他们属于超类人。 以下是我的老师给出的代码(任务): 我不知道我可以输入什么来创建一个没有参数的对象。它总是出现这样的错误:Person类中的构造函数Person不能应用于给定的类型;必选:java.lang.String,int 我在网上查过,有两种方法可以解决这个问题: > < li> 在超类中添加默认值:< code > Person()//不带参数。 在子类学生中