2013-02-27 71 views
1

我有一個java.util.list,應該只包含一個項目。如何在scala中獲得Java列表的單個項目?

我想提取這一項和assert/assume這個條件。

我可以寫這樣的事:

def single[T](list : java.util.List[T]) : T = { 
    assume(list.size() == 1) 
    list.get(0) 
} 

有什麼更地道?

回答

3

您可以使用JavaConversionshead方法:

import scala.collection.JavaConverters._ 

def single[T](list : java.util.List[T]) : T = { 
    assume(list.size == 1) 
    list.asScala.head 
} 
+0

或'headOption'如果你不知道該列表非空。 – 2013-02-27 18:58:21

+1

+ +1爲改變使用JavaConverters – drstevens 2013-02-27 18:58:52

+1

@PetrPudlák我們確信,因爲要調用 – drstevens 2013-02-27 19:03:51

相關問題