我需要修改我的代码,以达到“使匿名内部类成为lambda”的目的。
我有解决此问题的建议,但不知道lambda在Java中的工作方式,我不知道如何将该建议应用于我的特定情况,有人可以帮助我吗?
这是我的建议
这是“错误的”版本:
myCollection.stream().map(new Mapper<String,String>() {
public String map(String input) {
return new StringBuilder(input).reverse().toString();
}
});
这是“正确的”版本:
myCollection.stream().map(input -> new StringBuilder(input).reverse().toString());
现在,我代码中的“错误”版本是这样的:
Collections.sort(commits, new Comparator<GitCommit>() {
// @Override
public int compare(GitCommit c1, GitCommit c2) {
return c1.getDate().compareTo(c2.getDate());
}
});
相应的“正确”版本是什么?
Collections.sort(commits, Comparator.comparing(GitCommit::getDate));
甚至
commits.sort(Comparator.comparing(GitCommit::getDate));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句