Java/Kotlin 相互運用の問題があります。Kotlin の不変リストは、変更可能な通常の java.util.ArrayList にコンパイルされます。
コトリン (ライブラリ):
class A {
val items: List<Item> = ArrayList()
}
Java (消費者):
A a = new A();
a.getItems().add(new Item()); // Compiles and runs but I wish to fail or throw
Javaの観点からもKotlinクラスを完全に不変にする方法は?