我试图让mapOf()返回EnumMap,如果K是Enum。但是,该错误发生在枚举(K)的第一个类型变量处
码:
@kotlin.internal.InlineOnly
public inline fun <reified K, V> mapOf(): Map<K, V> =
if (K::class.java.isEnum) EnumMap<K, V>(K::class.java)
else emptyMap()
Run Code Online (Sandbox Code Playgroud)
错误:
Type argument is not within its bounds.
Expected: Enum<K!>!
Found: K
Run Code Online (Sandbox Code Playgroud)
我也想给除Enum以外的对象,所以reified K: Enum<*>不能解决。