2013-02-27 43 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

相关问题