2
標題可能會讓您困惑,但這是我所要求的。將函數傳遞給某個方法,然後在另一個方法中使用該函數
我有2個班級:Parser
和CommandArray
。
在CommandArray
我想要一個函數,將一個命令添加到我的數組,看起來有點像這樣:addCommand(String name, [Type] callback)
。然後在Parser
我想要那CommandArray
,所以可以遍歷一串字符串,找到name
,解析該行,然後如果一切正常,運行callback
並傳遞給它。
下面是一些僞代碼來說明我想要做的更好一點:
myCallback = function(line)
print(line)
end
function parseLine(command, callback) -- command is the line
-- do the parsing
callback(command)
end
parseLine("Rectangle 32, 32, 64, 64", myCallback)
聲明:此代碼是沒有測試
有沒有簡單的方法來做到這一點在Java中?
看起來這完全是我在找的,謝謝你的回答。 – lqPGM
現在我正在測試它,但是用一個字符串數組來代替。我有一個函數接受一個字符串數組作爲我的主類中的參數,但我不知道如何調用它。 'this :: myFunction'不起作用。我收到的錯誤是'方法引用只允許在1.8或更高版本的源代碼級別上執行' – lqPGM
嘗試清理您的項目,如果這樣做不起作用,那麼您可能還需要在項目中設置Java Build路徑。請參閱https://stackoverflow.com/questions/37628789/lamba-are-allowed-at-source-level-only-1-8-or-above。 –