开发者社区> 问答> 正文

类型去掉是怎么知道h是什么东西的?#Lambda

类型去掉了,到后面这行代码 filter(heros, h -> h.hp > 100 && h.damage < 50); 里,代码怎么知道这个h是什么?它怎么知道h有hp和damage这两个属性的? filter这个方法有两个参数,一个是a list of heroes,一个是HeroChecker对象,假设HeroChecker里有两个方法test1和test2,test1的参数是Hero而test2的参数不是Hero,而是另一个不包含hp和damage参数的对象,那在上面那行代码里它怎么知道h.hp和h.damage是否应该报错?

展开
收起
YDYK 2021-01-24 14:52:57 2640 0
1 条回答
写回答
取消 提交回答
  • 使用lambda,去掉类型,可以去看接口的定义中对应的参数方法,就能知道。使用lambda这种方式,就要求定义接口时,不同的方法,参数不能一样,否则使用lambda无法定位到。

    2021-01-24 14:53:11
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载