在java中使用scala列表

tur*_*rbo 2 java scala

在scala中,我可以添加到列表的末尾,

val list = List[Integer](1,2,3,4)
val addEndList  = list:::List[Integer](101) //now this list has 1,2,3,4,101
Run Code Online (Sandbox Code Playgroud)

我现在想从java做到这一点,

scala.collection.immutable.List<Integer> list =  perform.getScalaListofSize(4); //1,2,3,4
scala.collection.immutable.List<Integer> list2 =  perform.getScalaListofSize(1); //1
scala.collection.immutable.List<Integer> list1 = list2.$colon$colon$colon(list);//1,2,3,4,1
Run Code Online (Sandbox Code Playgroud)

不应该是java中的最后一行:

list.$colon$colon$colon(list2)
Run Code Online (Sandbox Code Playgroud)

它给我的输出为

//1,1,2,3,4
Run Code Online (Sandbox Code Playgroud)

Ben*_*son 5

:当与中缀表示法一起使用时,结尾的Scala方法是右关联的:如果你a ::: b在Scala中执行它会调用b.:::(a).在您的手动Java调用中,您必须自己转置参数,如您所发现的那样.