「コンパニオンオブジェクト」の意味は何ですか?今のところ私はそれを必要とするときにJavaのstatic
を置き換えるために使用しています。KotlinのJava静的フィールドの代わりに「コンパニオンオブジェクト」を使用するのはなぜですか?
私はと混乱しています:
- それは "仲間" と呼ばれているのはなぜ?
- 複数のスタティックのプロパティを作成するには、それをまとめて
companion object
ブロック内にグループ化する必要がありますか? - 即座クラスにスコープされたシングルトンインスタンスを作成するために、私はしばしば
を書く:
companion object {
val singleton by lazy { ... }
}
それを行うのunidiomatic方法のように思われます。より良い方法は何ですか?
ニースとイディオムの例。 – Trein