如果只有一個元素存在於集合中,最近我需要做'特殊情況'情形。檢查...size() == 1
,並通過使用...iterator.next()
檢索看着醜陋的家釀集合類,所以我創建了兩個方法:檢查使用番石榴是否僅存在一個元素
public class Collections {
public static <T> boolean isSingleValue(Collection<T> values) {
return values.size() == 1;
}
public static <T> T singleValue(Collection<T> values) {
Assert.isTrue(isSingleValue(values));
return values.iterator().next();
}
}
前幾天我發現,番石榴方法稱爲Iterables.getOnlyElement。它涵蓋了我的需求,並取代singleValue
,但我無法找到匹配isSingleValue
。這是由設計嗎? Iterables.isOnlyElement
方法是否值得放入功能請求?
編輯: 因爲有幾個upvotes,我決定打開番石榴增強 - issue 957。最終決議 - 'WontFix'。參數與Thomas/Xaerxess提供的參數非常相似。
這是不明確的,什麼是「我會解決」是什麼意思?你是說這是一個解決方案,還是你正在解決這個問題? – 2014-02-27 07:24:41
這是我的解決方案。 – Falci 2014-02-28 13:21:51