Kotlin中出现意外标记(使用';';分隔同一行上的表达式)错误
我用下面的代码(最后一行)得到这个错误:Kotlin中出现意外标记(使用';';分隔同一行上的表达式)错误,kotlin,Kotlin,我用下面的代码(最后一行)得到这个错误:意外标记(使用“;”分隔同一行上的表达式) private val myClass:Class get()=字符串::class.java myClass:Class=extras!!。getSerializable(“myClass”)作为类 如何修复它?IDE显示此错误的原因是您的变量myClass有两种类型Class和Class 我想你要做的是从一个包中提取一个额外的,并转换成一个正确的对象来使用它 下面是一些PSEDOO代码: private l
意外标记(使用“;”分隔同一行上的表达式)
private val myClass:Class
get()=字符串::class.java
myClass:Class=extras!!。getSerializable(“myClass”)作为类
如何修复它?IDE显示此错误的原因是您的变量myClass有两种类型
Class
和Class
我想你要做的是从一个包中提取一个额外的,并转换成一个正确的对象来使用它
下面是一些PSEDOO代码:
private lateinit var myClass:Class
重写创建时的乐趣(savedInstanceState:Bundle?){
myClass=intent?.extras!!.getSerializable(“myClass”)作为类
}
这种方式至少不再有错误,但是您可能需要考虑<强>强制安全> /强>,因为您需要检查它。
< p>您试图在赋值中键入<代码> MyCype < /Cord>(赋值中的类型注释只能用于<代码> = )。 编译器假定您打算编写第二个表达式(从开始):
,因为myClass
已经是Class
类型的表达式,并通知您应该使用
在同一行上分隔表达式
变量的类型批注只能在声明中使用
附带说明:该赋值无论如何都不会起作用,因为
myClass
是不可变的(关键字val
),并且类型也不兼容(Class
不是Class
).我现在得到了这个错误:kotlin.TypeCastException:null不能转换为非null类型java.lang.Class
然后将其作为Class
private val myClass: Class<String>
get() = String::class.java
myClass: Class<*> = extras!!.getSerializable("myClass") as Class<Activity?>