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