Comparator.comparing 无法获取对象get
时间: 2023-10-13 08:58:52 浏览: 81
如果要使用 Comparator.comparing 方法,需要确保对象具有一个可以获取要比较的值的方法。这个方法可以是一个 getter 方法,例如 getX(),getY() 等等。或者对象可以实现一个可以返回要比较的值的接口。例如,如果要比较 Person 对象的年龄,那么 Person 类应该有一个 getAge() 方法。如果这个方法不存在,那么 Comparator.comparing 方法将无法获取要比较的值,因此将无法创建比较器。如果您需要更详细的帮助,请提供更多上下文和代码示例。
相关问题
对象里有getCustomerName Comparator.comparing 无法获取对象get
如果对象中存在名为 `getCustomerName()` 的方法,可以使用以下代码来创建一个基于 `Customer` 对象的比较器:
```java
Comparator<Customer> customerComparator = Comparator.comparing(Customer::getCustomerName);
```
这个比较器将根据 `getCustomerName()` 方法返回的值来比较 `Customer` 对象。需要注意的是,`getCustomerName()` 方法必须返回一个可比较的类型,否则将无法创建比较器。如果您仍然遇到问题,请提供更多上下文和代码示例。
java Comparator.comparing , thenComparing .get报错
Java中的Comparator.comparing()和thenComparing()方法是用于创建比较器的。其中comparing()方法用于指定一个对象的某个属性作为比较的依据,而thenComparing()方法则用于在比较器中添加多个比较条件。在使用这些方法时,需要注意以下几点:
1.使用comparing()方法时,需要确保指定的属性存在,并且有对应的getter方法。
2.使用thenComparing()方法时,需要确保添加的比较条件是有意义的,并且不会导致比较器出现歧义。
3.在使用Comparator时,需要注意泛型的类型,确保比较器的类型与被比较的对象类型一致。
如果在使用Comparator.comparing()和thenComparing()方法时出现了报错,可能是由于以下原因:
1.指定的属性不存在或没有对应的getter方法。
2.添加的比较条件不合法,导致比较器出现歧义。
3.泛型类型不一致,导致比较器类型与被比较的对象类型不一致。
如果您能提供更具体的报错信息,我可以更准确地为您解答。
阅读全文