私はかなり新しいJavaです。今ではいくつかのComparatorクラスを作成する必要があります。JavaのComparatorクラスでラムダ式を使うにはどうすればいいですか?
このStackoverflowページでは、ラムダ式の使用に関するいくつかの有用な情報が見つかりました。私はfotosCollectionと呼ばれるコレクションを持っているときに、私はこれを行うことができるようにしたいと思い
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.sort(new HoogteComparator());
私にこのようCompartorクラスの作成についての事をしたHow to compare objects by multiple fields
これは明らかにうまくいきませんが、どうすればこの問題を解決できますか?
ps。コンパレータクラスを使用する必要があります。
fotosCollection.sort(Comparator.comparing(Foto :: getName)); '.comComparing(Foto :: getHeight) .thenComparingInt(Foto :: getName));'。 –