Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带字符串比较器的java流排序忽略大小写_Java - Fatal编程技术网

带字符串比较器的java流排序忽略大小写

带字符串比较器的java流排序忽略大小写,java,Java,请问是否有更简洁的方法来编写。然后比较(hotel->hotel.getName().toUpperCase()),我发现了一个字符串。不区分大小写\u顺序,但是如何在hotel.getName()上使用这个比较器呢 更新: 应用@Arnaud Denoyelle的建议 hotels.stream().sorted(Comparator.comparing(Hotel::getCity) .thenComparing(hotel -> hote

请问是否有更简洁的方法来编写
。然后比较(hotel->hotel.getName().toUpperCase())
,我发现了一个
字符串。不区分大小写\u顺序
,但是如何在
hotel.getName()
上使用这个比较器呢

更新: 应用@Arnaud Denoyelle的建议

hotels.stream().sorted(Comparator.comparing(Hotel::getCity)
                       .thenComparing(hotel -> hotel.getName().toUpperCase())))
                .collect(Collectors.toList());

它看起来更好。

字符串。不区分大小写的顺序
是一个
比较器
,但您正在尝试比较一些
酒店

您可以得到一个比较器,如下所示:

hotels.stream().sorted(Comparator.comparing(Hotel::getCity)
                       .thenComparing(Hotel::getName, String.CASE_INSENSITIVE_ORDER))
                .collect(Collectors.toList());
因此,对于第一个比较标准,代码变为:

hotels.sort(Comparator.comparing(Hotel::getName, String.CASE_INSENSITIVE_ORDER));

您应该为thenComparing链接方法提供另一个比较器,如下所示:

hotels.sort(
  Comparator.comparing(Hotel::getCity)
            .thenComparing(Hotel::getName, String.CASE_INSENSITIVE_ORDER)
)

好问题。标题应该更准确,以便人们以后可以搜索。我现在什么都想不出来(漫长的工作日:)
hotels.sort(
  Comparator.comparing(Hotel::getCity)
            .thenComparing(Hotel::getName, String.CASE_INSENSITIVE_ORDER)
)
hotels.stream().sorted(Comparator.comparing(Hotel::getCity)
            .thenComparing(Comparator.comparing(Hotel::getName, String.CASE_INSENSITIVE_ORDER)))
            .collect(Collectors.toList())