如何解决Kotlin中出现意外的标记使用';'分隔同一行中的表达式错误
我通过以下代码(最后一行)收到此错误:Unexpected tokens (use ';' to separate expressions on the same line)
private val myClass: Class<String>
get() = String::class.java
myClass: Class<*> = extras!!.getSerializable("myClass") as Class<Activity?>
我该如何解决?
解决方法
IDE之所以显示此错误,是因为您的变量 myClass 具有两种类型:Class<String>
和Class<Activity?>
。
我想您想做的是从Bundle中检索一个额外内容,并转换为正确的对象以使用它。
这是一些pseduo代码:
private lateinit var myClass: Class<Activity>
override fun onCreate(savedInstanceState: Bundle?) {
myClass = intent?.extras!!.getSerializable("myClass") as Class<Activity>
}
这样至少不会再有错误了,但是您可能需要考虑广播安全性,因为您需要检查它。
,您正在尝试在作业中键入myClass
(作业中的类型注释只能在=
的右侧使用)。
由于:
已经是类型myClass
的表达式,编译器假设您要编写第二个表达式(从Class<String>
开始),并告知您应使用{ {1}}来分隔同一行中的表达式。
变量的类型注释只能在声明中使用。
请注意:由于;
是不可变的(关键字myClass
)并且类型也不兼容(val
不是{{1 }}。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。