我使用retrolambda在Android上使用嘗試lambda表達式。在下面的代碼我需要添加監聽器是接口:Lambda表達式 - 不能設置拉姆達參數作爲參數傳遞給方法
public interface LoginUserInterface {
void onLoginSuccess(LoginResponseEntity login);
void onLoginFail(ServerResponse sr);
}
代碼
private void makeLoginRequest(LoginRequestEntity loginRequestEntity) {
new LoginUserService(loginRequestEntity)
.setListener(
login -> loginSuccess(login),
sr -> loginFail(sr))
.execute();
}
private void loginSuccess(LoginResponseEntity login) {
//TODO loginSuccess
}
private void loginFail(ServerResponse sr) {
//TODO loginFail
}
但是Android工作室標誌着紅loginSuccess(登錄)和loginFail(SR)作爲錯誤 並顯示消息「LoginResponseEntity不能應用於」和「ServerResponse不能應用於「
因此,我不能設置的λ參數‘登錄’作爲參數傳遞給方法loginSuccess(登錄)。
請幫助我瞭解什麼不對的表達。
Android的編譯與Java 6 。在Java中6 – Shloim
沒有lambda表達式,我知道,我用retrolambda等lambda表達式工作 –
你應該提及的是,你的問題。 – Shloim