gpt4 book ai didi

java - Eclipse 中的 Lambda 类型不匹配

转载 作者:行者123 更新时间:2023-11-30 10:06:32 25 4
gpt4 key购买 nike

我正在尝试使用 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 一直报错:

The method setOnClick(IconClick) in the type Icon is not applicable for the arguments ((Player p, Icon i, InventoryClickEvent e) -> {})

它甚至建议在 Icon 类中创建一个带有参数 IconClick 的方法,但这是我正在尝试使用的方法。

(使用 Java 8,编译器合规级别:1.8 和 Eclipse 版本:2018-12 (4.10.0))

最佳答案

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

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'

关于java - Eclipse 中的 Lambda 类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54617350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com