Joh*_*eer 4 java lambda comparator java-8
我是Java的新手,现在我必须创建一些Comparator类.
在这个Stackoverflow页面上,我发现了一些关于使用lambda表达式的非常有用的信息.如何通过多个字段比较对象
这让我有关创建这样的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类.
Comparator.comapring返回Comparator- 您可以直接使用它:
// Define a "constant" comparator
private static final Comparator<Foo> HOOGTE_COMPARATOR = 
    Comparator.comparing(Foto::getWidth)
              .thenComparing(Foto::getHeight)
              .thenComparingInt(Foto::getName);
// Use it elsewhere in your code
fotosCollection.sort(HOOGTE_COMPARATOR);
| 归档时间: | 
 | 
| 查看次数: | 519 次 | 
| 最近记录: |