我一般这么写:
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
请问是不是Java8更简单?
我觉得这么写才符合Java8的风格
names = names.stream().sorted(String::compareTo).collect(Collectors.toList());
只是用到了语法糖,内部实现应该是一样的
lambda语法写的更简洁一点。
据官方说法是. 不单单是语法上增加了lambda 还对性能有了更大的提升.
java8支持lambda 可以写成 Collections.sort(names, (String s1, String s2)->s1.compareTo(s2))
题主还是看下Java8吧……
Java 8 使用 Lambda表达式
Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
Java8 中使用的排序语法更简单,如下:
Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
实际看看下面带运行编译的例子吧:
java8 vs java7 sort