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

收集器内部lambda中的类类型-map-java8

杜苏燕
2023-03-14

我有一个方法签名,用于使用基于method类型的给定getter方法的反射获取setter方法。方法签名如下:

Method getSetter(final Method getterMethod, final Class classType)

现在从类的方法中,我想要getter方法到相关setter方法的映射。我的代码如下:

final Method[] methods = classType.getMethods();
        Stream.of(methods)
                .filter(ReflectionUtils::isGetter)
                .collect(Collectors.toMap(Function.identity(), (method) -> getSetter(method, classType)));

我在getSetter(method,classType)处遇到编译错误,它说找到了错误的第一个类型参数:< code >

我还尝试指定lambda参数的类型。见下文

Stream.of(methods)
                .filter(ReflectionUtils::isGetter)
                .collect(Collectors.toMap(Function.identity(), (Method method) -> getSetter(method, classType)));

现在它说无法推断功能接口类型。

共有1个答案

郦何平
2023-03-14

您的代码适用于javac 8u25,u40,u60,u71以及ecj 3.10.2。这里唯一的问题是发出警告的原始参数。它应该参数化

Method getSetter(final Method getterMethod, final Class<?> classType) { ... }

 类似资料:
  • 我正在开发一个依靠API REST调用的flutter应用程序。来自API的响应有点复杂。当调用我的API(例如:api/产品)时,我可以从日志中看到响应:但是我有这个错误: 类型列表 StackTrace: [更新]:退货产品响应。fromJson(response)而不是response ProductsRespository: ProductsBloc: 回应: ApiProvider: 模

  • 问题内容: 在此问题中用户@Holger提供了一个答案,该答案显示了匿名类的不常见用法,我并不知道。 该答案使用流,但是此问题与流无关,因为这种匿名类型构造可以在其他上下文中使用,即: 令我惊讶的是,它编译并打印了预期的输出。 注意:我很清楚,自古以来,就可以构造一个匿名内部类并按如下方式使用其成员: 但是,这不是我要问的。我的情况有所不同,因为匿名类型是通过方法链传播的。 现在,我可以想象到此功

  • 我试图在一个方法中使用泛型,在这个方法中,我将一个json反序列化为pojo,这样它就可以返回任何对象类型。 这里我的代码: 问题是

  • 我有一个嵌套的映射,其中key是员工名称,values是另一个映射,其中key是公司名称,value是经验年数,如下所示 现在我的函数应该返回一个映射,以员工姓名为键,以总经验为值。我如何使用java流(在单个流中)做到这一点

  • 我遇到了一个奇怪的例外 '_InternalLinkedHashMap 我不知道怎么画地图 第一次运行代码时,它可以正常工作,因为它可以访问else部分。当它第二次应该访问第一个部件时,它会产生上述异常。 } 输出 FoodLog输出: {2021年8月3日:{早餐:{鱼片:{碳水化合物:0.0,脂肪:1.7,蛋白质:20.08,钙:95}},晚餐:{},零食:{},午餐:{} E/flatter

  • 当我点击我的颤振应用程序中的一个按钮时,我出现了一个错误。这里有人有解决方案吗?! 路线 争论 还有地图 完全错误 生成CategoryMalsScreen(脏,依赖项:[[U ModalScopeStatus],状态:[U CategoryMalsScreenState]时引发了以下错误:类型“String”不是类型“Map”的子类型 导致错误的相关小部件是:CategoryMalsScreen

  • 我正在学习飞镖和颤振。现在,我尝试将JSON作为一种持久性方法。我犯了很多错误,都是关于类型和内容的。这是我遇到的最新错误:

  • 我试图从API获取数据。我得到了错误类型列表不是地图的子类型。我是新来的,不明白我在哪里犯了错误。 这是我的回帖功能: 在我的主屏幕中,我使用了一个,如下所示: 如何解决此错误?提前谢谢。