无法解析构造函数“TreeSet(ComparatorByPrice)”

问题描述 投票:0回答:1

我在使用比较器的代码中遇到了这个问题,我在另一个类中实现了,一切都很好...但是在我调用比较器的这个类中,消息“无法解析构造函数'TreeSet(ComparatorByPrice) )' 出现。

The Error

Implements

java comparator implements
1个回答
0
投票

您必须传递 Comparator

实例
,该对象的类实现
Comparator
。您(显然)传递的是一个类,而不是该类的对象。

record Product( String description , BigDecimal price ) { }
Comparator < Product > comparatorByPrice = Comparator.comparing ( Product :: price );
List < Product > products = List.of (
        new Product ( "Banana" , new BigDecimal ( "22.22" ) ) ,
        new Product ( "Apple" , new BigDecimal ( "44.44" ) ) ,
        new Product ( "Orange" , new BigDecimal ( "11.11" ) ) ,
        new Product ( "Papaya" , new BigDecimal ( "33.33" ) )
);
NavigableSet < Product > productsSortedByPrice = new TreeSet <> ( comparatorByPrice );
productsSortedByPrice.addAll ( products );

转储到控制台。

System.out.println ( "products = " + products );
System.out.println ( "productsSortedByPrice = " + productsSortedByPrice );
© www.soinside.com 2019 - 2024. All rights reserved.