3
これは私がKotlinにクラスの委任を作成する方法を知っている:Kotlinクラスの委任機能
class CustomList<T>(private val data: ArrayList<T> = ArrayList<T>()) : List<T> by data
私はときCustomList
リストが空になりたいので、しかし、私は、コンストラクタでデータを入れたくありません
class CustomList<T> : List<T> by data {
private val data = ArrayList<T>()
}
これは機能していないようです。
にはどうすればdata
インナーフィールドにし、また、すべての委譲メソッドを記述することなく、それのメソッドにリストを委任することができますか?
'ArrayList()'の代わりに 'listOf()'を使用してください。 'ArrayList'を指定する必要はありません。一般に – Joshua
@Joshuaは、あなたは正しいが、OPの元のコードは 'ArrayListを()'インスタンス化します。 –