LocalDate
またはString
という異なるタイプを受け入れるセッターを持つLocalDate
タイプのプロパティを持つクラスを作成しようとしています。 LocalDate
の場合、値は直接割り当てられ、String
の場合は解析されて割り当てられます。 Javaでは、上記の両方のケースを処理する2つのオーバーロードされたセッターを実装するだけです。しかし、私はKotlinでそれをどう扱うべきか分かりません。私はこれを試しました:Kotlin:異なるタイプの複数のセッターを持つ単一のプロパティ
class SomeExampleClass(var _date: LocalDate) {
var date = _date
set(value) {
when(value) {
is LocalDate -> value
is String -> LocalDate.parse(value)
}
}
}
コンパイルされません。どのようにしてこのような問題を解決できますか?だから、
どちらかを使って作成した後に設定できますか、どちらかで構築できますか? – jrtapsell
文字列:後に設定します(これは、JSPファイルからSpringコントローラにデータが転送される場合です)。 LocalDate: – sva605
の後に構築または設定するこの時点でセッターのオーバーロードはサポートされていません。この[post](https://stackoverflow.com/questions/43086327/setter-overloading-in-kotlin)またはこの[issue](https://youtrack.jetbrains.com/issue/KT-4075)を参照してください。 )。 – BakaWaii