Java-如何用lambda表达式替换此代码?
是否可以用lambda表达式替换此代码Java-如何用lambda表达式替换此代码?,java,lambda,Java,Lambda,是否可以用lambda表达式替换此代码 repository.registerLoginHandler(new ITeamRepository.ILoginHandler() { public ILoginInfo challenge(ITeamRepository repository) { return new ILoginInfo() { public String getUserId() {
repository.registerLoginHandler(new ITeamRepository.ILoginHandler() {
public ILoginInfo challenge(ITeamRepository repository) {
return new ILoginInfo() {
public String getUserId() {
return "username";
}
public String getPassword() {
return "pass";
}
};
}
});
ILoginHandler是一个功能接口:
ITeamRepository.ILoginHandler.ILoginInfo challenge(ITeamRepository repository)
编辑:其他答案更简洁,因此更好。为什么
{return
..}
?我们可以在lambda中跳过这一步。是的,我刚刚看到了3次回归,并且认为这有一定的逻辑。我不知道他刚刚创建了一个新类。
repository.registerLoginHandler(repo -> new ILoginInfo() {
public String getUserId() {
return "username";
}
public String getPassword() {
return "pass";
}
});
repository.registerLoginHandler(repository -> {
return new ILoginInfo() {
public String getUserId() {
return "username";
}
public String getPassword() {
return "pass";
}
};
});