values() メソッドへの呼び出しのうち、entries プロパティの読み取りに置換できるものを報告します。
Enum.entries を使用すると、コードのパフォーマンスが向上する場合があります。
このクイックフィックスは values() を entries に置換します。
詳細: KT-48872 Enum.values() に対応するモダンでパフォーマンスの高い置換の提供
注意: entries プロパティの型は values() メソッドの戻り値の型と異なります
(Array<T> ではなく List<T> から継承している EnumEntries<T>)。
このため、場合によってはクイックフィックスによってコードを破壊しないように追加の .toTypedArray() 変換が挿入されますが、多くの場合はこの変換なしで置換が実行されます (例: for ループ)。
例:
enum class Version {
V1, V2
}
Version.values().forEach { /* .. */ }
val firstVersion = Version.values()[0]
functionExpectingArray(Version.values())
クイックフィックス適用後:
enum class Version {
V1, V2
}
Version.entries.forEach { /* .. */ }
val firstVersion = Version.entries[0]
functionExpectingArray(Version.entries.toTypedArray())