我有一个斯卡拉类:实例化从Java Scala的类,并使用构造函数的默认参数
class Foo(val x:String = "default X", val y:String = "default Y")
我想从调用它的Java,但使用默认参数
传null
不工作(其分配null
,如预期)
new Foo(null,null); //both are instantiated as null
这一招确实为我工作,但它的丑陋,我不知道是否有更好的办法:
斯卡拉
class Foo(val x:String = "default X", val y:String = "default Y") {
def this(x:Object) = this()
}
的Java
new Foo(null); //no matter what I pass it should work
不过,我想喜欢摆脱构造函数重载技巧,并使用0参数构造函数
这可能吗?