我使用的接口Predicate<T>从com.google.common.base(谷歌番石榴)
但我不知道该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));
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助,
Jon*_*eet 13
您正在创建两个不同的匿名内部类,但它们都没有覆盖equals,因此您将获得默认实现,因此任何两个不相等的引用都被视为不相等.
由于价值观PredicateD和PredicateM不同的引用,equals返回false.
| 归档时间: |
|
| 查看次数: |
3391 次 |
| 最近记录: |