我正在嘗試使用 lambda 運(yùn)算符,我已經(jīng)設(shè)法用其他方法做類似的事情,但是這個(gè)給出了一個(gè)錯(cuò)誤。有問(wèn)題的方法: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 不斷給出這個(gè)錯(cuò)誤:Icon 類型中的方法 setOnClick(IconClick) 不適用于參數(shù) ((Player p, Icon i, InventoryClickEvent e) -> {})它甚至建議在 Icon 類中創(chuàng)建一個(gè)帶有參數(shù) IconClick 的方法,但這是我正在嘗試使用的方法。(使用 Java 8,編譯器合規(guī)級(jí)別:1.8 和 Eclipse 版本:2018-12 (4.10.0))
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可能只是缺少那里的返回類型:
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'
添加回答
舉報(bào)
0/150
提交
取消