私は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
このトリックは私にとってはうまくいきましたが、それは醜いです、そして私はもっと良い方法があるかどうか疑問に思います:
Scala
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パラメーターコンストラクターを使用したいと思います
それは可能ですか?