我正在尝试使用 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'
添加回答
举报
0/150
提交
取消