【发布时间】:2018-11-21 12:00:41
【问题描述】:
我在 Scala 对象中定义了以下列表:
object Foo {
val bar = List(1, 2, 3)
}
当我尝试从 Java 中使用它时,它似乎变成了 scala.collection.immutable.List<Object>。因此,我必须使用像 Foo.bar().apply$mcII$sp(i) 或 apply 这样的 getter 并转换为 Integer/int。
为什么泛型类型是Object 而不是Integer?这似乎也仅适用于作为 Java 原语存在的类型。 List[MyType] 在 Scala 中变为 List<MyType>。
【问题讨论】:
-
@StuartLC 在我的 IDE 中的设计期间。我只是想知道为什么非基元不会发生这种情况,例如,
List[MyType]在 Java 中变为List<MyType>。