91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kotlin中怎么使用Deprecated與Suppress注解

發布時間:2021-06-11 15:09:32 來源:億速云 閱讀:369 作者:Leah 欄目:移動開發

Kotlin中怎么使用Deprecated與Suppress注解?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Deprecated

在 Java 方法中,如果需要廢棄一個方法,只需要在方法錢加上 @Deprecated 即可,例如這樣:

@Deprecated
public void test(){

}

但是如果在 Kotlin 代碼中直接使用這個注釋,就存在問題了:

Kotlin中怎么使用Deprecated與Suppress注解

Deprecated

翻看源碼發現,Kotlin 中對 Deprecated 這個注解做了加強:

@Target(CLASS, FUNCTION, PROPERTY, ANNOTATION_CLASS, CONSTRUCTOR, PROPERTY_SETTER, PROPERTY_GETTER, TYPEALIAS)
@MustBeDocumented
public annotation class Deprecated(
 val message: String,
 val replaceWith: ReplaceWith = ReplaceWith(""),
 val level: DeprecationLevel = DeprecationLevel.WARNING
)

源碼中 Deprecated 存在三個參數,其中第二個和第三個參數存在默認值,第一個參數 message 沒有,也就是說,要想正常使用時,必須要帶上 message 信息,正常寫法是這樣:

@Deprecated("xxx")
fun testKt(){

}

三個參數說明:

message:解釋棄用并建議使用替代 API 的信息

level:指定如何在代碼中報告已棄用的元素用法,level 存在三種枚舉

public enum class DeprecationLevel {
/** Usage of the deprecated element will be reported as a warning. */
WARNING,
/** Usage of the deprecated element will be reported as an error. */
ERROR,
/** Deprecated element will not be accessible from code. */
HIDDEN
}
  • WARNING:僅用于警告 API 使用者,不會中斷其編譯或運行時使用

  • ERROR:禁止使用該 API,如果調用了這類API直接編譯報錯

  • HIDDEN:直接隱藏該 API

replaceWith:指定可用于替換已棄用的函數,屬性或類的代碼片段。不明白?一圖看懂:

Kotlin中怎么使用Deprecated與Suppress注解

replace

SuppressWarnings 與 Suppress

在 Java 代碼中,如果需要消除一些編譯時的警告,通常使用 @SuppressWarnings("xxx") 來進行解決的,而在 Kotlin 中,不能使用這個注解,需要使用Kotlin中內置的 @Suppress("xxx") 帶替代。

例如,做 SDK 開發的時候,通常有很多對外 API ,正常情況下,不調用的時候,會有如下類似警告:

Kotlin中怎么使用Deprecated與Suppress注解

hello

對于有強迫癥的來說這很難受,為了消除這種警告我們可以這樣:

@Suppress("unused")
fun hello() {
 println("hello")
}

如果是Java代碼則寫成這樣:

@SuppressWarnings("unused")
public void hello(){
 
}

又例如,有時候需要做一些類型轉換時:

Kotlin中怎么使用Deprecated與Suppress注解

hello

此時為了消除這種警告,我們可以這樣操作:

fun unChecked(){
 val list: List<Any> = emptyList()

 @Suppress("UNCHECKED_CAST")
 list as List<String>
}

如果在Java代碼中則需要寫成 @SuppressWarnings("unchecked")

Kotlin 中,Suppress 支持消除的警告有很多,可以通過源碼查閱更多相關參數信息,例如:

Kotlin中怎么使用Deprecated與Suppress注解

看完上述內容,你們掌握Kotlin中怎么使用Deprecated與Suppress注解的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乌| 监利县| 右玉县| 辽源市| 盐池县| 云南省| 绥宁县| 大洼县| 汽车| 西充县| 建昌县| 通渭县| 芦溪县| 疏勒县| 通辽市| 封丘县| 电白县| 昌宁县| 临洮县| 柏乡县| 吕梁市| 甘南县| 湖口县| 上虞市| 宜章县| 梅州市| 上杭县| 安图县| 集安市| 临夏县| 昌都县| 万安县| 巩留县| 罗定市| 廊坊市| 赤壁市| 南汇区| 留坝县| 望江县| 安化县| 肃南|