java - 在 Java 8 中以不区分大小写的方式对字符串值进行排序

标签 java java-8 java-stream

如何按以下不区分大小写的顺序对字符串值进行排序?

List<Employee> listofEmployees = Arrays.asList(
    new Employee(1, "aaa", Arrays.asList(123, 345, 678)),
    new Employee(1, "bbb", Arrays.asList(91011, 121314, 1516117)),
    new Employee(2, "ccc", Arrays.asList(181920, 212223, 242526)),
    new Employee(3, "ddd", Arrays.asList(272829, 303132, 333435)),
    new Employee(4, "BBB", Arrays.asList(29, 332, 33))
);

我是这样写的:

listofEmployees.stream().sorted(Comparator.comparing(Employee::getName).reversed())
        .forEach(s -> System.out.println(s.getName()));

如何在此处传递不区分大小写的字符串选项?

最佳答案

试试这个

Comparator.comparing(Employee::getName, String.CASE_INSENSITIVE_ORDER)

关于java - 在 Java 8 中以不区分大小写的方式对字符串值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49821774/

相关文章:

java - 在多个线程之间共享流实例是否安全?

java - Collectors.toMap() 中的错误报告是否已损坏?

eclipse - Ant "JAVA_HOME does not point to the JDK"- 但确实如此

java - 通用数组如何添加set方法?

java - 为什么需要从 Integer 转换为 int

java - 带有 int、Object 和 String [] args 的 Main 方法

Java 为什么不加宽 - 然后 - 框?

java 8,CompletableFuture

loops - Java 8 Stream 嵌套 for 循环

java - Lambda 表达式和 Optional 如何返回 String 值