gpt4 book ai didi

java - 在java中,使用 String::length 进行 Comparator.comparing()

转载 作者:行者123 更新时间:2023-12-02 19:31:13 26 4
gpt4 key购买 nike

我有一个这样的代码:

String[] yetToSortedArray = {"Abc","hello world","nihao?","chilemaNin"};
Arrays.parallelSort(yetToSortedArray, Comparator.comparing(String::length));
for(String str : yetToSortedArray){
System.out.println(str + ", ");
}

我的问题在这里:“String::length”我真正传递给 Comparator.comparing() 的是什么?为什么 String::length() 没有括号?

我想我正在使用这个:https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#comparing-java.util.function.Function-java.util.Comparator-

它说“接受一个从类型 T 中提取可比较排序键的函数,并返回一个按该排序键进行比较的比较器。”

String::length 如何匹配此类型?

谢谢。

最佳答案

String::lengthmethod reference 。使用它相当于

Comparator.comparing(s -> s.length())

因此它通过比较字符串的长度来比较字符串。

关于java - 在java中,使用 String::length 进行 Comparator.comparing(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29753525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com