我正在嘗試使用 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
提交
取消