我想使用默认方法“negate()”返回一个“relation”,它总是返回与test()方法相反的结果。我该怎么做?
public interface Relation<X,Y> {
boolean test(X x, Y y);
default Relation<X,Y> negate() {
// TODO
Relation<X, Y> relation = new Relation<X, Y>() {
public boolean test(X x, Y y) {
return !this.test(x, y);
}
};
return relation;
}
}
我尝试了这个代码,但它给我堆栈溢出错误
1条答案
按热度按时间qf9go6mv1#
自
Relation
在它的当前形式中是一个函数接口,我们可以从negate()
这就颠倒了test(...)
:ideone演示