我正在學習使用Kotlin. 我以前習慣于使用Java. 在 Android Studio 中編碼時,我可以看到 Lambda 中使用的回傳型別、引數等、方法等都寫為 View!。
我知道?Kotlin 中的 after 型別表示 Nullable 型別。雖然是什么!意思。
例如:
val item = mySpinner.selectedItem
回傳型別是Any!什么!意思是?它與 Nullable 型別相同Any?嗎?謝謝。
uj5u.com熱心網友回復:
這是一個平臺型別 ,表示Kotlin不確定是否會是null或not null,就像在說“也許”。
平臺型別不能在程式中明確提及,因此語言中沒有它們的語法。然而,編譯器和 IDE 有時需要顯示它們(例如,在錯誤訊息或引數資訊中),因此它們有一個助記符:
- T!意思是“T還是T?”,
- (可變)收藏!表示“T 的 Java 集合可能是可變的或不是的,可能是可空的或不可為空的”,
- 陣列<(out) T>! 表示“T(或 T 的子型別)的 Java 陣列,是否可以為空”
而且因為它可以是null或not null,所以由您決定如何對待它。
還要檢查另一個帖子
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/529190.html
