0

考虑到像这样的 Java 接口,转换List[Foo]为的最佳方法是什么:Seq[(String, String)]Foo

public interface Foo {
    Long getKey();
    String getValue();
}
4

1 回答 1

2

您可以使用map.

class Bar extends Foo{
     | def getKey = 0
     | def getValue = ""
     | }
defined class Bar

scala> val bar = new Bar
bar: Bar = Bar@7fe69211       

scala> val foos = Seq(bar, bar, bar)
foos: Seq[Bar] = List(Bar@7fe69211, Bar@7fe69211, Bar@7fe69211)

scala> foos.map(foo => (foo.getKey.toString, foo.getValue))
res0: Seq[(String, String)] = List((0,""), (0,""), (0,""))
于 2013-07-25T20:47:48.120 回答