java 相当于 C# 的 Single() 运算符吗?

rip*_*234 5 java linq lambdaj

你知道,相当于:

<T> T single(List<T> list) {
  assertEquals(1, list.size());
  return list.get(0);
}
Run Code Online (Sandbox Code Playgroud)

lambdaj 包含类似的东西吗?

Mar*_*sco 1

lambdaj具有selectUnique方法,如果有多个项目满足给定 hamcrest Matcher 所表达的条件,该方法将引发异常。由于您没有任何要匹配的特定条件,因此您需要一个始终返回 true 的 Matcher (在我看来 hamcrest 并没有提供这样一个开箱即用的 Matcher,但实现它很简单),或者也许您想检查列表中的(唯一)对象至少不为空,因此您可以通过以下方式实现此结果:

selectUnique(list, Matchers.notNullValue());
Run Code Online (Sandbox Code Playgroud)