質問

ご存知のように、次のことに相当するもの

<T> T single(List<T> list) {
  assertEquals(1, list.size());
  return list.get(0);
}

ラムダジにはそのようなものが含まれていますか?

役に立ちましたか?

解決

ラムダジ 持っています selectunique 指定されたHamcrestマッチャーによって表される条件を満たす複数のアイテムがある場合、例外をスローする方法。一致する特定の条件がないため、常に真実を返すマッチャーが必要です(Hamcrestが箱から出してそのようなマッチャーを提供するのは私にはないようですが、それを実装するのは些細なことです)、またはおそらく、リスト内の(唯一の)オブジェクトが少なくともnullではないことを確認したいので、次の結果を達成できます。

selectUnique(list, Matchers.notNullValue());

他のヒント

まったく同じではありませんが、Javaには、1つの要素しかないことが保証されているリスト(およびその他のコレクション)を作成する方法があります。 Collections.singleton*メソッドをご覧ください。これらのコレクションは不変であることに注意してください(建設でエントリが提供されています)。

グアバ 持っています Iterables.getFirst() まさにそれを行う方法。

あなたが私を使うことができるなら Xpresso あなたが書くことができるライブラリ:

x.list(iterable).toScalar();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top