为了账号安全,请及时绑定邮箱和手机立即绑定

Eclipse 中的 Lambda 类型不匹配

Eclipse 中的 Lambda 类型不匹配

回首忆惘然 2022-06-15 10:34:19
我正在尝试使用 lambda 运算符,我已经设法用其他方法做类似的事情,但是这个给出了一个错误。有问题的方法:public Icon setOnClick(IconClick e) {    this.click = e;    return this;}和:public interface IconClick {    boolean onClick(Player p, Icon i, InventoryClickEvent e);}在这里,我尝试使用 lambda:.setOnClick((Player p, Icon i, InventoryClickEvent e) -> {        //Code in here    }));但是 Eclipse 不断给出这个错误:Icon 类型中的方法 setOnClick(IconClick) 不适用于参数 ((Player p, Icon i, InventoryClickEvent e) -> {})它甚至建议在 Icon 类中创建一个带有参数 IconClick 的方法,但这是我正在尝试使用的方法。(使用 Java 8,编译器合规级别:1.8 和 Eclipse 版本:2018-12 (4.10.0))
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

您可能只是缺少那里的返回类型:


IconClick onClick = (Player p, Icon i, InventoryClickEvent e) -> {

     // some logic in here

     return false; // must return 'false' or 'true' 

};


Icon icon = new Icon().setOnClick((p, i, e) -> false); // or 'onClick'


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信