java - 在哪里可以找到像 Guava 的 greaterThan 这样的基本谓词?

标签 java guava predicates

我正在使用 guava 库并注意到一个非常有用的 Predicate未定义 - “大于”。有没有其他地方我应该寻找这样的基本谓词,或者我注定要创建我自己的功能支持 jar,其中包括这样的东西,并将其导入我的所有项目?有没有理由他们不包括这个,但会花时间做一堆其他谓词(在 Predicates 类中)?

最佳答案

Range Ranges (更新:从 Guava 14.0 开始,Ranges 上的静态方法已被折叠到 Range 中)现在已为 r10 添加。你将能够做到:

Iterable<Integer> positive = Iterables.filter(numbers, Range.greaterThan(0));

Range 具有许多其他强大的功能,包括将 Range 视为离散域上的连续 ImmutableSortedSet 的能力:

ContiguousSet<Integer> oneToOneHundred = ContiguousSet.create(
    Range.closed(1, 100), DiscreteDomains.integers());

我只是在这里展示了 Integer,但是 Range 东西适用于任何 ComparableContiguousSet 需要 DiscreteDomain对于类型...Guava 目前提供 DiscreteDomain.integers().longs().bigIntegers()

关于java - 在哪里可以找到像 Guava 的 greaterThan 这样的基本谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524642/

相关文章:

安卓列表过滤器

java - 如何使用 Guava 谓词获取数组列表中的重复元素

iphone - 在 NSFetchedResultsController 的谓词中获取属性

java - 如何使用 get 和 put 作为原子操作使并发 HashMap 线程安全?

java - IntelliJ IDEA 13 Scala Plugin & Eclipse Kepler 编译报错

Java:Method.invoke(this,args)NullPointerException

java - 为什么 MyRequestQueue_Drivers 中这两个字符串(company_id 和branch_id)等于 null?

java - ProGuard 中类路径前的感叹号有什么作用?

java - 如何向数组添加新条目?

apache-spark - 从org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits到 Guava 的StopWatch的IllegalAccessError