我不确定是否可以像 java 对象一样设置 kotlin 扩展。
在我的程序中,我有一个名为的 java 类Submission
,我想创建一个名为的 kotlin 扩展categories
- 一个 ArrayList - 所以我把它变成了这样。
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 扩展的正确语法。所以我真的不确定我应该在哪个方向解决这个问题。也许我真的应该只使用普通的旧继承?
谢谢。