快捷搜索:

java comparator类_如何在Java中的Comparator类中使用lambda表达式

我是

Java的新手,现在我必须创建一些Comparator类.

在这个Stackoverflow页面上,我发现了一些关于使用lambda表达式的非常有用的信息. How to compare objects by multiple fields

这让我有关创建这样的Compartor类的事情:

public class WidthComparator implements Comparator{

@Override

public int compare(Object t, Object t1) {

Foto foto1 = (Foto)t;

Foto foto2 = (Foto)t1;

return Comparator.comparing(Foto::getWidth)

.thenComparing(Foto::getHeight)

.thenComparingInt(Foto::getName);

}

}

}

所以当我有一个名为fotosCollection的集合时,我希望能够这样做:

fotosCollection.sort(new HoogteComparator());

这显然不起作用,但我怎么能让它工作?

PS.我必须使用Comparator类.

我是 Java的新手,现在我必须创建一些Comparator类. 在这个Stackoverflow页面上,我发现了一些关于使用lambda表达式的非常有用的信息. How to compare objects by multiple fields 这让我有关创建这样的Compartor类的事情: public class WidthComparator implements Comparator{ @Override public int compare(Object t, Object t1) { Foto foto1 = (Foto)t; Foto foto2 = (Foto)t1; return Comparator.comparing(Foto::getWidth) .thenComparing(Foto::getHeight) .thenComparingInt(Foto::getName); } } } 所以当我有一个名为fotosCollection的集合时,我希望能够这样做: fotosCollection.sort(new HoogteComparator()); 这显然不起作用,但我怎么能让它工作? PS.我必须使用Comparator类.
经验分享 程序员 微信小程序 职场和发展