我正在使用 java 8 新功能“Lambda 表达式”,这是一个很酷的功能。我认为它只能帮助开发人员简化编码。它对我的应用程序有任何性能影响吗?
private void sortCities(List<String> cities){ //Conventional way
Collections.sort(cities, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
}
private void sortCities(List<String> cities){ //Using Lambda Expression
Collections.sort(cities, (s1, s2) -> s1.compareTo(s2));
}
最佳答案
不,事实并非如此。在您的特定情况下(不捕获参数),lambda 实际上会更具性能,因为比较器只会创建一次并重复使用,而对于匿名类,每次调用 sortCities
方法时都会创建它。
关于Java 8 : How Lambda expression impacts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34984311/