亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Kotlin基礎(chǔ)學(xué)習(xí)之Deprecated與Suppress注解使用

 更新時間:2019年08月14日 09:43:04   作者:XuYanjun  
這篇文章主要給大家介紹了關(guān)于Kotlin基礎(chǔ)學(xué)習(xí)之Deprecated與Suppress注解使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Kotlin具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在 Java 中通常對一些方法進(jìn)行一些注解操作,但是很多注解在 Java 代碼上沒有問題,如果切換到 Kotlin 上時,如果繼續(xù)使用這些注解就會存在一些問題,本篇主要對比一些常用 Java 注解和 Kotlin 注解使用轉(zhuǎn)換。

Deprecated

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

@Deprecated
public void test(){

}

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

Deprecated

翻看源碼發(fā)現(xiàn),Kotlin 中對 Deprecated 這個注解做了加強(qiáng):

@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 存在三個參數(shù),其中第二個和第三個參數(shù)存在默認(rèn)值,第一個參數(shù) message 沒有,也就是說,要想正常使用時,必須要帶上 message 信息,正常寫法是這樣:

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

}

三個參數(shù)說明:

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,如果調(diào)用了這類API直接編譯報錯
  • HIDDEN:直接隱藏該 API

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

replace

SuppressWarnings 與 Suppress

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

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

hello

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

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

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

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

又例如,有時候需要做一些類型轉(zhuǎn)換時:

hello

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

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

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

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

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

hello

總結(jié)

其實這兩種注解使用起來都不難,主要是平常 Java 代碼寫習(xí)慣了,切換到 Kotlin 之后,很多 API 并不熟悉,需要在開發(fā)過程中慢慢了解與積累,俗話說好記性不如爛筆頭就是這么個道理。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Flutter實現(xiàn)仿京東商品詳情底部操作欄

    Flutter實現(xiàn)仿京東商品詳情底部操作欄

    這篇文章主要為大家詳細(xì)介紹了Flutter如何仿京東實現(xiàn)商品詳情底部操作欄,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-06-06
  • Android中簡單的電話管理與短信管理App編寫實例

    Android中簡單的電話管理與短信管理App編寫實例

    這篇文章主要介紹了Android中簡單的電話管理與短信管理App編寫實例,包括監(jiān)聽電話的呼叫狀態(tài)以及短信群發(fā)聯(lián)系人選擇等基本功能的實現(xiàn),代碼突出要點,需要的朋友可以參考下
    2016-04-04
  • 安卓逆向騰訊動漫app返回數(shù)據(jù)加密分析案例分享

    安卓逆向騰訊動漫app返回數(shù)據(jù)加密分析案例分享

    這篇文章主要為大家介紹了安卓逆向騰訊動漫app返回數(shù)據(jù)加密分析的案例分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • Android Studio 1.2版安裝設(shè)置圖文教程

    Android Studio 1.2版安裝設(shè)置圖文教程

    這篇文章主要介紹了Android Studio 1.2版安裝設(shè)置圖文教程,本文詳細(xì)講解了下載、安裝Android Studio 1.2教程,以及常用設(shè)置詳細(xì)圖文教程,需要的朋友可以參考下
    2015-05-05
  • Android中findViewById獲取控件返回為空問題怎么解決

    Android中findViewById獲取控件返回為空問題怎么解決

    這篇文章主要介紹了Android中findViewById獲取控件返回為空問題怎么解決的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 詳解Android事件的分發(fā)、攔截和執(zhí)行

    詳解Android事件的分發(fā)、攔截和執(zhí)行

    這篇文章主要為大家詳細(xì)介紹了詳解Android事件的分發(fā)、攔截和執(zhí)行,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android中刷新界面的二種方法

    Android中刷新界面的二種方法

    這篇文章主要介紹了Android中刷新界面的二種方法,本文使用Handler、postInvalidate兩種方法實現(xiàn)界面刷新,需要的朋友可以參考下
    2014-10-10
  • android自定義形狀的按鍵實例代碼

    android自定義形狀的按鍵實例代碼

    這篇文章主要介紹了android自定義形狀的按鍵實例代碼,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • Android Flutter實現(xiàn)視頻上滑翻頁效果的示例代碼

    Android Flutter實現(xiàn)視頻上滑翻頁效果的示例代碼

    我們在短視頻應(yīng)用中經(jīng)常會看到不停上滑瀏覽下一條視頻的沉浸式交互效果,這種交互能夠讓用戶不停地翻頁,直到找到喜歡的視頻內(nèi)容。本文將通過Flutter中的PageView組件實現(xiàn),感興趣的可以了解一下
    2022-10-10
  • Android實現(xiàn)隨手指移動小球

    Android實現(xiàn)隨手指移動小球

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)隨手指移動小球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評論