我尝试根据谓词过滤集合:
private void filterExpiredOffers() {
mOffersList = Lists.newArrayList(Collections2.filter(
mOffersList, new Predicate<Offer>() {
@Override
public boolean apply(Offer offer) {
return mUnlockExpirationCalculator
.isUnlockValid(offer);
}
}));
}
和:
public boolean isUnlockValid(Offer offer) {
return ((offer.unlockExpirationDate == null) || (System
.currentTimeMillis() < offer.unlockExpirationDate.getTime()));
}
我看到一个报价因此得到了“虚假”
但是,我稍后会在 arrayList 中看到它。
我是不是过滤错了?