Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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 是否有一种简洁的方法来创建比较器<;X>;基于X.getY()的排序_Java_Lambda_Comparator - Fatal编程技术网

Java 是否有一种简洁的方法来创建比较器<;X>;基于X.getY()的排序

Java 是否有一种简洁的方法来创建比较器<;X>;基于X.getY()的排序,java,lambda,comparator,Java,Lambda,Comparator,有没有更简短的说法: final Comparator<ClassA> byName = (final ClassA a1, final ClassA a2) -> a1.getName().compareTo( a2.getName() )); final Comparator byName= (最终A级a1,最终A级a2) ->a1.getName().compareTo(a2.getName()); 我知道getName()永远不会返回nu

有没有更简短的说法:

final Comparator<ClassA> byName = 
    (final ClassA a1, final ClassA a2) 
        -> a1.getName().compareTo( a2.getName() ));
final Comparator byName=
(最终A级a1,最终A级a2)
->a1.getName().compareTo(a2.getName());
我知道getName()永远不会返回null

可能是使用方法引用实现了以下内容:

final Comparator<ClassA> byName = ????( ClassA::getName );
最终比较器byName=??(ClassA::getName);
您可以将其缩短为:

final Comparator<ClassA> byName =
                Comparator.comparing(ClassA::getName);
final Comparator byName=
Comparator.comparing(ClassA::getName);