JavaFXFilteredList泛型getPredicate()

JavaFXFilteredList泛型getPredicate(),java,generics,javafx,Java,Generics,Javafx,我刚刚遇到了一个不可能的通用方法。似乎我无法编写一个方法,它接受JavaFX过滤列表和谓词,并简单地将过滤列表谓词与传入的谓词相加。唯一的方法是强制转换,在某些情况下会导致ClassCastException,或者使用原始类型。我认为java不能代表你所能做到的 void and(FilteredList<String> l, Predicate<? super Object> predicate) { l.getPredicate().and(predicat

我刚刚遇到了一个不可能的通用方法。似乎我无法编写一个方法,它接受JavaFX过滤列表和谓词,并简单地将过滤列表谓词与传入的谓词相加。唯一的方法是强制转换,在某些情况下会导致
ClassCastException
,或者使用原始类型。我认为java不能代表你所能做到的

void and(FilteredList<String> l, Predicate<? super Object> predicate) { 
    l.getPredicate().and(predicate);
}
你能行

void and(FilteredList<String> l, Predicate<? super Object> predicate) { 
    l.getPredicate().and(predicate);
}

谢谢James,这是一个很好的建议,但是这个方法并不像它可能的那样通用。下面是我想做的一个示例调用:公共类测试{Predicate@NikolayMetchev你能用它来编辑你的问题吗?很难在注释中阅读代码。谢谢James,这是一个很好的建议,但是这个方法并不像它可能的那样通用。下面是我想做的一个示例调用:公共类测试{ Predicate@NikolayMetchev你能用这个来编辑你的问题吗?很难读懂注释中的代码。
void and(FilteredList<String> l, Predicate<? super Object> predicate) { 
    l.getPredicate().and(predicate);
}
Predicate<? super String> and(FilteredList<String> l, Predicate<? super Object> predicate) {
    return l.getPredicate().and(predicate);
}