Android studio 类型参数不在其范围内,应为:找到任何:字符串

Android studio 类型参数不在其范围内,应为:找到任何:字符串,android-studio,generics,kotlin,Android Studio,Generics,Kotlin,给定 Android Studio为我提供了添加'kotlin.Any'作为字符串的上限,这将导致 Type argument is not within its bounds Expected: Any Found: String //注意 类MySubclass(…):基类(…) 但我不明白为什么不好,而好 您只需键入 // Note the <String: Any> instead of <String> class MySubclass<Strin

给定

Android Studio为我提供了
添加'kotlin.Any'作为字符串的上限
,这将导致

Type argument is not within its bounds 
Expected: Any 
Found: String
//注意
类MySubclass(…):基类(…)
但我不明白为什么
不好,而

您只需键入

// Note the <String: Any> instead of <String>
class MySubclass<String: Any>(...) : BaseClass<String>(...)
这是不允许的,因为您的类型可能是一个
Any?
,它不能满足类型从非空
Any
扩展的要求

之所以有效,是因为它类似于定义一个类型
,使它能够满足基类中不可为空的要求

// Note the <String: Any> instead of <String>
class MySubclass<String: Any>(...) : BaseClass<String>(...)
class MySubclass(...) : BaseClass<String>(...) { ... }
class MySubclass<T>: BaseClass<T>()