18

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クラスを完全に不変にする方法は?

4

2 に答える 2