Java 8的sort方法使用和java有什么区别吗?

我一般这么写:

  Collections.sort(names, new Comparator<String>() {
     @Override
     public int compare(String s1, String s2) {
        return s1.compareTo(s2);
     }
  });

请问是不是Java8更简单?

阅读 6.8k
8 个回答

Java8 中使用的排序语法更简单,如下:

Collections.sort(names, (s1, s2) -> s1.compareTo(s2));

实际看看下面带运行编译的例子吧:
java8 vs java7 sort

Java 8 使用 Lambda表达式

Collections.sort(names, (s1, s2) -> s1.compareTo(s2));

java8支持lambda 可以写成 Collections.sort(names, (String s1, String s2)->s1.compareTo(s2))

只是用到了语法糖,内部实现应该是一样的

新手上路,请多包涵

lambda语法写的更简洁一点。

题主还是看下Java8吧……

据官方说法是. 不单单是语法上增加了lambda 还对性能有了更大的提升.

我觉得这么写才符合Java8的风格

names = names.stream().sorted(String::compareTo).collect(Collectors.toList());
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题