在哪里可以找到比大番茄更好的基本谓词?

我正在使用番石榴库,并注意到一个非常有用的谓词没有定义 - “大于”。还有其他地方我应该寻找像这样的基本谓词,还是我注定要创建我自己的功能支持jar包含这样的东西,并将其导入我的所有项目?有没有理由他们不会包含这个,但会花时间去做一堆其他的谓词(在Predicates类中)?     
已邀请:
使用
Predicate
接口和各种实用程序方法来过滤使用Predicate的集合,Guava提供了一个可以构建的核心。
Predicates
类允许您创建一些常用的谓词。我猜你可以按照迈克的建议在问题跟踪器上提出增强请求,但是我不确定他们是否会添加它,因为Guava正在努力实现高功率重量比。 如果他们要添加“greaterThan”谓词,他们还需要添加“greaterOrEqualThan”,“lessserThan”,“lesserOrEqualThan”......这将是有用的,但这对于谓词来说是很多“API膨胀”只需要一行来实现。值得一试。 一个更好的解决方案可能是拥有一个开源项目,扩展Guava,具有Guava本身无法提供的所有“好用”功能。我们可以把它称为“guava-leftovers”或其他东西;)或者可能要求Biscotti项目添加这样的实用程序方法(它们已经有一些“很好的”功能,而不是Guava)。     
现在已经为r10添加了范围和范围(更新:
Ranges
上的静态方法已经折叠成Gu3ѭ,如Guava 14.0)。你可以做到:
Iterable<Integer> positive = Iterables.filter(numbers, Range.greaterThan(0));
Range
s还有许多其他强大的功能,包括能够在离散域上查看
Range
作为连续的
ImmutableSortedSet
ContiguousSet<Integer> oneToOneHundred = ContiguousSet.create(
    Range.closed(1, 100), DiscreteDomains.integers());
我刚刚在这里展示了
Integer
s,但
Range
的东西适用于任何
Comparable
ContiguousSet
需要一个DiscreteDomain类型... Guava目前提供
DiscreteDomain.integers()
.longs()
.bigIntegers()
。     
我之前已经请求过这个功能并且已经引用了这个问题。显然,这个功能将通过Ranges实现,它将实现
Predicate
。     
Predicates
收集一些常见谓词但不大于一。我不认为番石榴提供这样的东西。您可以尝试在番石榴项目网站上提交错误/功能请求:http://code.google.com/p/guava-libraries/issues/list     

要回复问题请先登录注册