说实话,这是一个非常容易实现的事情:
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;
}
Run Code Online (Sandbox Code Playgroud)
(或者将它放在泛型类中,而不是使方法通用.您也可以决定使用不同的异常类型.)
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |