与其他方式相比,在Scala中使用Java集合要容易得多,但是由于您提出了以下要求:
import scala.collection.immutable.*;public class foo { public List test() { List nil = Nil$.MODULE$; // the empty list $colon$colon one = $colon$colon$.MODULE$.apply((Integer) 1, nil); // 1::nil $colon$colon two = $colon$colon$.MODULE$.apply((Integer) 2, one); // 2::1::nil System.out.println(one); System.out.println(two); return two; }}这将使用在类路径中带有scala-library.jar的javac进行编译:
javac -classpath /opt/local/share/scala-2.9/lib/scala-library.jar foo.java
您可以从Scala REPL调用:
scala> (new foo).testList(1)List(2, 1)res0: List[Any] = List(2, 1)
要使用Scala中的Java集合,您无需执行任何特殊操作:
scala> new java.util.ArrayList[Int]res1: java.util.ArrayList[Int] = []scala> res1.add(1)res2: Boolean = truescala> res1res3: java.util.ArrayList[Int] = [1]



