1
我有一個java.util.list
,應該只包含一個項目。如何在scala中獲得Java列表的單個項目?
我想提取這一項和assert/assume
這個條件。
我可以寫這樣的事:
def single[T](list : java.util.List[T]) : T = {
assume(list.size() == 1)
list.get(0)
}
有什麼更地道?
我有一個java.util.list
,應該只包含一個項目。如何在scala中獲得Java列表的單個項目?
我想提取這一項和assert/assume
這個條件。
我可以寫這樣的事:
def single[T](list : java.util.List[T]) : T = {
assume(list.size() == 1)
list.get(0)
}
有什麼更地道?
您可以使用JavaConversions
和head
方法:
import scala.collection.JavaConverters._
def single[T](list : java.util.List[T]) : T = {
assume(list.size == 1)
list.asScala.head
}
或'headOption'如果你不知道該列表非空。 – 2013-02-27 18:58:21
+ +1爲改變使用JavaConverters – drstevens 2013-02-27 18:58:52
@PetrPudlák我們確信,因爲要調用 – drstevens 2013-02-27 19:03:51