我使用的接口Predicate<T>
從com.google.common.base
(谷歌番石榴)謂詞<T>方法equals()方法
但我不知道如何有equals()
方法工作...
爲什麼我收到false
當我輸入這樣的事情:
Predicate<Object> PredicateD = new Predicate<Object>(){
@Override public boolean apply(Object number) {
return ((number instanceof Double) && (Math.floor((Double)number) == (Double)number));
}
};
Predicate<Object> PredicateM = new Predicate<Object>(){
@Override public boolean apply(Object number) {
return ((number instanceof Double) && (Math.floor((Double)number) == (Double)number));
}
};
System.out.println(PredicateD.equals(PredicateM));
預先感謝您的幫助,
你能告訴我關於這個例子嗎?我需要如何覆蓋等於得到結果返回True? – 2011-05-17 12:14:43
@ user757202:如果沒有*瘋狂*量的分析,您確實無法(使用您當前的匿名內部類)來指示兩種情況下'apply'方法中的代碼是等價的。你真的想達到什麼目的?什麼是更大的圖片? – 2011-05-17 12:32:46
謝謝,我試圖實現基本集合論。集合A被定義爲謂詞:(如果Predicate.apply(x),則x在A中)。我需要相等的屬性來排列類「set」的不同元素。我想我不能爲此使用接口謂詞。 – 2011-05-17 12:47:30