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?>