オブジェクトを比較するために、複数のメソッドにアクセスする必要があります

ブラックバーン:

Oracleのドキュメントを読んだ後、私は私が探しています何見つかりませんでした。私はそれがさまざまな方法で比較することができるというオブジェクトを持っていますが、その属性の一つはリストです。どのように私はそのリストの属性のサイズに基づいて比較することができますか?

Comparator comparator = Comparator.comparing(Product::getCommentList::size);
List<Product> soldL = new LinkedList();
soldL.addAll(sold);
Collections.sort(soldL,comparator);

私は成功せずに上記のコードを試してみました。

また:

あなたは、単にラムダを使用して、既存のコードを向上させることができます。

Comparator<Product> comparator = Comparator.comparing(p -> p.getCommentList().size()); // type 'Product' bound
List<Product> soldL = new LinkedList<>(); // type inferred '<>'
soldL.addAll(sold);
soldL.sort(comparator); // use 'List.sort'

編集:あなたが利用することができますcomparingInt代わりとしてボクシングを避けるためにcomparaingの:

Comparator<Product> comparator = Comparator.comparingInt(p -> p.getCommentList().size()); 

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=281685&siteId=1