java - Hamcrest - arrayOne 中的任何项目与 arrayTwo 中的任何项目匹配

标签 java filter hamcrest lambdaj

我在 Java 中使用 LambdaJ 和 hamcrest。我想知道是否有一种方法可以检查一个数组中的任何项目是否等于另一个数组中的任何项目?

我尝试了一些配置,但似乎无法正确配置。

喜欢这个:

arrayOne, hasItemInArray(isIn(arrayTwo));

...不起作用,因为它将尝试匹配 arrayOne 中的每个项目。

最佳答案

我想我已经解决了!

问题不在于 Hamcrest 与我在问题中描述的方式不符。我有一个长列表:s。

我指的是 hasItemInArray 它使用 hasValue (比较原始类型)而不是 hasItem (比较对象)。

所以上面的代码只需稍加修改即可工作:

arrayOne, hasItem(isIn(arrayTwo));

这实际上是一个有点令人困惑的命名约定。

关于java - Hamcrest - arrayOne 中的任何项目与 arrayTwo 中的任何项目匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17407193/

相关文章:

java - 单击列表项显示更多信息

java - 如何以更有效的方式迭代像素?

javascript - 如何保存应用了 CSS 滤镜的图像

xml - 排除 XQuery 中的元素

java - 汉克雷斯特。将集合中的项目与 2 个特定属性值匹配

java - 从 myeclipse 工作区创建ear文件

java - 使用布局管理器和 JFrame,NullPointerException

javascript - 如果可能的话,我需要帮助逐行理解这个 jQuery 过滤器函数的工作原理

java - 泛型 hell : hamcrest matcher as a method parameter

java - 断言字符串列表包含忽略大小写的字符串