kotlin 拡張機能を Java オブジェクトのように設定できるかどうかはわかりません。
私のプログラムでは、呼び出されたJavaクラスがSubmission
あり、その呼び出されたkotlin拡張機能(ArrayList)を作成したかったcategories
ので、このように作成しました。
var Submission.categories: ArrayList<String>
get() {
return this.categories
}
set(categories){
this.categories = categories
}
ただし、カテゴリを設定しようとするたびに、プログラムは次のような stackOverflowError でクラッシュします。
ERR: stack=java.lang.StackOverflowError: stack size 8MB
at com.....setCategories(Extensions.kt:0)
at com.....setCategories(Extensions.kt:19)
at com.....setCategories(Extensions.kt:19)
at com.....setCategories(Extensions.kt:19)
at com.....setCategories(Extensions.kt:19)
at com.....setCategories(Extensions.kt:19)
これは、kotlin 拡張機能を宣言するための正しい構文のようです。したがって、これを修正するためにどの方向に進むべきか本当にわかりません。おそらく、単純な古い継承を使用する必要がありますか?
ありがとう。