番石榴是否提供用于身份相等的Predicates.is(T)(la Predicates.equalTo(T t))?
|
我没有在
com.google.common.base.Predicates
中找到期望的ѭ0。我发现它对于单元测试中有关集合的精确行为的断言很有用(例如ѭ2useful),这已经存在吗?如果没有,我认为应该,但是也许我没有考虑?
/** @see Predicates#is(Object) */
private static class IsPredicate<T> implements Predicate<T>, Serializable {
private final T target;
private IsPredicate(T target) {
this.target = target;
}
public boolean apply(T t) {
return target == t;
}
@Override public int hashCode() {
return target.hashCode();
}
@Override public boolean equals(Object obj) {
if (obj instanceof IsPredicate) {
IsPredicate<?> that = (IsPredicate<?>) obj;
return target.equals(that.target);
}
return false;
}
@Override public String toString() {
return \"Is(\" + target + \")\";
}
private static final long serialVersionUID = 0;
}
/**
* Returns a predicate that evaluates to {@code true} if the object being
* tested {@code ==} the given target or both are null.
*/
public static <T> Predicate<T> is(T target) {
return (target == null)
? Predicates.<T>isNull()
: new IsPredicate<T>(target);
}
没有找到相关结果
已邀请:
1 个回复
响摔衅幸
)。我想这大概是Mark Peters给出的原因。