似乎good reason我需要切换到Scala!所以,请原谅我,如果我的问题看似新手。
scala中的任何似乎是supper class of all types,可能会被视为Java中的 Object 类型。但是输入任何是抽象的,而对象则不是。更具体地说,我不能在scala中编写以下代码(因为类Any是抽象的,无法实例化):
val k:Any = new Any();
虽然我可以用Java编写以下代码:
Object k=new Object();
如果我需要具体的等效类型的java对象类型,我应该使用什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
AnyRef
相当于java的Object
。 (Scala统一了类型系统,而不是具有Java所具有的对象/原语区别。因此Any
的实例可能是Object
/ AnyRef
的后代,或Java的实例原始类型(例如int
)。(或者它也可以是从AnyVal
下降的“值类”)。