4番目の2次コンストラクタの値に基づいて条件付きスーパーコールを持つ方法はありますか? なぜこれは機能しませんか?拡張クラスの条件付き分岐スーパー値のKotlin 2次コンストラクタ
open class SecondaryConstructors{
constructor(i:Int)
constructor(s:String)
}
class SecondaryExtended:SecondaryConstructors {
constructor(i:Int):super(i)
constructor(s:String):super(s)
constructor():super(if(true)1 else 0)
constructor(intOrString:Boolean):super(if(intOrString) 3 else "hey")
// conditional branch result of int/string is implicitly cast to Any
// error - none of the following functions can be called with the arguments supplied
}
なぜこれが必要でしょうか?実際には、ファクトリ関数を持つコンパニオンオブジェクトを使用します。 – 9000
@ 9000ちょうど探検する必要はありません、Kotlin In Actionの本を読んで、コンパニオンオブジェクトについて学んでください。 –
これはJavaでは表現できません。 – ephemient