4 に答える
8
正直に言うと、自分で実装するのは非常に簡単です。
public static <T> T single(Iterable<T> source) {
Iterator<T> iterator = source.iterator();
if (!iterator.hasNext()) {
throw new IllegalArgumentException("No elements");
}
T first = iterator.next();
if (iterator.hasNext()) {
throw new IllegalArgumentException("More than one element");
}
return first;
}
(または、メソッドをジェネリックにする代わりに、ジェネリッククラスに入れます。別の例外タイプを使用することもできます。)
于 2010-11-26T17:18:46.087 に答える
3
于 2010-11-26T17:30:27.907 に答える
0
@Jonのソリューションの防御力の低いバージョン。
Collection<T> coll;
T first = col.iterator().next();
味にチェックを追加します。
于 2010-11-26T17:25:47.960 に答える
-1
私のxpressoライブラリを使用できる場合は、次のように記述できます。x.list(iterable).toScalar();
于 2015-06-11T01:28:47.640 に答える