【发布时间】:2014-09-23 05:22:38
【问题描述】:
在操作 scala 对象(主要来自 scala.collection 包)时,运算符重载函数似乎可以在 Java 中使用。
即在斯卡拉中
var s = Set(1, 2, 3)
var t = s + 4
var x = s | t
所以在Java中,在eclipse自动完成中查看scala.collection.Set,我可以看到原型
但我无法正确使用它们
import scala.collection.Set;
Set<Integer> s = new Set<Integer>();
Set<Integer> t = s.$plus(4); /* compile error with javac, or runtime error with eclipse/*
这些 scala 方法是如何在 Java 中使用的?
【问题讨论】:
-
我想这不是方法名称本身的问题:原因可能是 scala 集合层次结构和逆变:javac 无法将
scala.collection.Set<String>视为scala.collection.immutable.Set<String>
标签: java eclipse scala scala-collections scala-java-interop