簡體   English   中英

Kotlin 中出現意外標記(使用“;”分隔同一行上的表達式)錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM