enumEntries() 的 enumValues() 方法的调用。
使用 enumEntries 可能会提高代码的性能。
该快速修复会将 enumValues 替换为 enumEntries。
更多详细信息:KT-61120 为 Enum.values() 提供了现代且高效的替代
注意:enumEntries 的返回值类型与 enumValues 的返回值类型不同(EnumEntries<T> 继承自 List<T>,而不是 Array<T>)。
因此,在某些情况下,快速修复会插入额外的 .toTypedArray() 转换,以避免破坏代码,但在大多数情况下,替换将在没有该转换的情况下完成(例如,在 for 循环中)。
示例:
enum class Version {
V1, V2
}
enumValues().values().forEach { /* .. */ }
val firstVersion = enumValues()[0]
functionExpectingArray(enumValues())
在应用快速修复后:
enum class Version {
V1, V2
}
enumEntries().forEach { /* .. */ }
val firstVersion = enumEntries()[0]
functionExpectingArray(enumEntries().toTypedArray() )