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

时间:2016-08-26 08:26:26

标签: java lambda

是否可以用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)

2 个答案:

答案 0 :(得分:4)

repository.registerLoginHandler(repo -> new ILoginInfo() {
    public String getUserId() {
        return "username";
    }
    public String getPassword() {
        return "pass";                        
    }
});

答案 1 :(得分:0)

repository.registerLoginHandler(repository -> {
    return new ILoginInfo() {
        public String getUserId() {
            return "username";
        }
        public String getPassword() {
                return "pass";                        
        }
    };
});

编辑:其他答案更紧凑,因此更好。