TIL

EnumEntries

values의 문제점

enum class ShowCategory {
	SliceOfLife,
	Isekai,
	Mecha,
	Sports,
	Shonen,
}

‘Enum.values()’ is recommended to be replaced by ‘Enum.entries’ since 1.9

Entries의 등장

val entires: EnumEntries<ShowCategory> = ShowCategory.entires
/**

[List] 인터페이스의 특수한 불변 구현체로,

지정된 enum 타입 [E]의 모든 enum 엔트리를 포함합니다.

[EnumEntries]는 소스 코드에 선언된 순서대로 모든 enum 엔트리를 포함하며,

각 엔트리는 [Enum.ordinal] 값과 일관된 순서를 가집니다.

이 인터페이스의 인스턴스는 EnumClass.entries 프로퍼티나 [enumEntries] 함수를 통해 얻을 수 있습니다.

구현 참고
contains 및 indexOf와 같은 모든 기본 연산은 상수 시간( O(1) )에 실행되며,

일반적인 ArrayList<E>보다 더 빠르게 동작할 수 있습니다.
*/
@SinceKotlin("1.9")
@WasExperimental(ExperimentalStdlibApi::class)
public sealed interface EnumEntries<E : Enum<E>> : List<E>