Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-如何用lambda表达式替换此代码?_Java_Lambda - Fatal编程技术网

Java-如何用lambda表达式替换此代码?

Java-如何用lambda表达式替换此代码?,java,lambda,Java,Lambda,是否可以用lambda表达式替换此代码 repository.registerLoginHandler(new ITeamRepository.ILoginHandler() { public ILoginInfo challenge(ITeamRepository repository) { return new ILoginInfo() { public String getUserId() {

是否可以用lambda表达式替换此代码

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";                        
        }
    };
});