[英]Kotlin (Android Studio) Unexpected tokens (use ';' to separate expressions on the same line)
[英]Unexpected tokens (use ';' to separate expressions on the same line) error in 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 中檢索一個額外的內容並轉換為正確的 object 以使用它。
所以這里有一些偽代碼:
private lateinit var myClass: Class<Activity>
override fun onCreate(savedInstanceState: Bundle?) {
myClass = intent?.extras!!.getSerializable("myClass") as Class<Activity>
}
這樣至少不再有錯誤,但是您可能需要考慮演員表的安全性,因為您需要檢查它。
您正在嘗試在作業中鍵入myClass
(作業中的類型注釋只能在=
的右側使用)。
編譯器假定您要編寫第二個表達式(從:
開始),因為myClass
已經是Class<String>
類型的表達式,並通知您應該使用;
分隔同一行上的表達式。
變量的類型注釋只能在聲明中使用。
附帶說明:該分配無論如何都不起作用,因為myClass
是不可變的(關鍵字val
)並且類型也不兼容( Class<Activity?>
不是Class<String>
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.