我有一个家长班
@Data
public class Parent {
private String xx;
private int yy;
}
以及扩展父类的两个子类
@Data
public class ChildA extends Parent {
private String aa;
}
@Data
public class ChildB extends Parent {
private String bb;
}
另外,父母和子元素A、子元素B的字段很少,但有很多.
我有一个共同的比较器:
Comparator<Parent> commonComparator = Comparator.comparing(Parent::getYy)
.thenComparing(Parent::getXx);
和每个子元素的特定比较器:
Comparator<ChildA> childAComparator = Comparator.comparing(ChildA::getAa);
Comparator<ChildB> childBComparator = Comparator.comparing(ChildB::getBb);
如果我想要对ChildA的a列表进行排序,我如何才能将CommonCompator和ChildACompator组合在一起?
我试过:
commonComparator.thenComparing(childAComparator);
但我有个问题:
然后,方法比较(比较<;?超级父母&>)在类型中 比较器不适用于参数 (比较<;ChildA>;)