以下のような Rank クラスがあるとして、
↓ 作りたいリスト
enum class Rank { GOLD, SILVER, BRONZE }
ランクなしという意味の null を含むリストを作りたいとします。 ↓ 作りたいリスト
val list: List<Rank?> = ... println(list) // [null, GOLD, SILVER, BRONZE]
Rank の一覧は Rank.values() で取れるので val ranks: Array<Rank> = Rank.values() println(ranks.joinToString()) // GOLD, SILVER, BRONZE
listOf(null) で null だけのリストを作って + で ranks と合わせたリストを作ることもできますが、 val list: List<Rank?> = listOf(null) + ranks
スプレット演算子を使うと余計なリスト(= null だけのリスト)を作らずに済みます。 val list: List<Rank?> = listOf(null, *ranks)