日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)

發(fā)布時(shí)間:2023/12/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java注解:@Deprecated(不建議使用的,廢棄的), @SuppressWarnings(忽略警告,達(dá)到抑制編譯器產(chǎn)生警告的目的) @Deprecated可以修飾類、方法、變量,在java源碼中被@Deprecated修飾的類、方法、變量等表示不建議使用的,可能會(huì)出現(xiàn)錯(cuò)誤的,可能以后會(huì)被刪除的類、方法等,如果現(xiàn)在使用,則在以后使用了這些類、方法的程序在更新新的JDK、jar包等就會(huì)出錯(cuò),不再提供支持。 ? ? 個(gè)人程序中的類、方法、變量用@Deprecated修飾同樣是不希望自己和別人在以后的時(shí)間再次使用此類、方法。 ?當(dāng)編譯器編譯時(shí)遇到了使用@Deprecated修飾的類、方法、變量時(shí)會(huì)提示相應(yīng)的警告信息。 @SuppressWarnings?可以達(dá)到抑制編譯器編譯時(shí)產(chǎn)生警告的目的,但是很不建議使用@SuppressWarnings注解,使用此注解,編碼人員看不到編譯時(shí)編譯器提示的相應(yīng)的警告,不能選擇更好、更新的類、方法或者不能編寫更規(guī)范的編碼。同時(shí)后期更新JDK、jar包等源碼時(shí),使用@SuppressWarnings注解的代碼可能受新的JDK、jar包代碼的支持,出現(xiàn)錯(cuò)誤,仍然需要修改。 可以看成@Deprecated注解和@SuppressWarnings注解是成對(duì)出現(xiàn)的。

通過@SuppressWarnings的源碼可知,其注解目標(biāo)為類、字段、函數(shù)、函數(shù)入?yún)ⅰ?gòu)造函數(shù)和函數(shù)的局部變量。而家建議注解應(yīng)聲明在最接近警告發(fā)生的位置


[java]?view plaincopy
  • ???/**??
  • *?@Description:?編碼時(shí)我們總會(huì)發(fā)現(xiàn)如下變量未被使用的警告提示,?
  • *?上述代碼編譯通過且可以運(yùn)行,但每行前面的“感嘆號(hào)”就嚴(yán)重阻礙了我們判斷該行是否設(shè)置的斷點(diǎn)了。?
  • *?這時(shí)我們可以在方法前添加?@SuppressWarnings("unchecked")?去除這些“感嘆號(hào)”。?
  • */??
  • public?String?convertXmlToSendMethods(Document?document){??
  • ????//發(fā)布方式(1到多個(gè))??
  • ????List<Element>?methodName?=?document.selectNodes("/alert/code/method/methodName");??
  • ????List<Element>?message?=?document.selectNodes("/alert/code/method/message");??
  • ????List<Element>?audienceGrp?=?document.selectNodes("/alert/code/method/audienceGrp");??
  • ????List<Element>?audenceprt?=?document.selectNodes("/alert/code/method/audenceprt");??
  • ????//處理‘發(fā)布方式’復(fù)數(shù)??
  • ????int?methodNameSize?=?0;??
  • ????if?(null!=methodName?&&?methodName.size()>0)?{??
  • ????????methodNameSize?=?methodName.size();??
  • ????}??
  • ????JSONArray?jsonArraySendMethods?=?new?JSONArray();??
  • ????for?(int?i?=?0;?i?<?methodNameSize;?i++)?{??
  • ????????JSONObject?json?=?new?JSONObject();??
  • ????????json.put("methodName",?methodName.get(i).getTextTrim());??
  • ????????json.put("message",?message.get(i).getTextTrim());??
  • ????????json.put("audienceGrp",?audienceGrp.get(i).getTextTrim());??
  • ????????json.put("audenceprt",?audenceprt.get(i).getTextTrim());??
  • ????????jsonArraySendMethods.put(json);??
  • ????}??
  • ????return?jsonArraySendMethods.toString();??
  • }??
  • @SuppressWarings注解?詳解

    [java]?view plaincopy
  • ???/**??
  • *?@Description:示例1——抑制單類型的警告:??
  • */??
  • @SuppressWarnings("unchecked")??
  • public?void?addItems(String?item){??
  • ??@SuppressWarnings("rawtypes")??
  • ???List?items?=?new?ArrayList();??
  • ???items.add(item);??
  • }??
  • ??
  • /**??
  • *?@Description:?示例2——抑制多類型的警告:??
  • */??
  • @SuppressWarnings(value={"unchecked",?"rawtypes"})??
  • public?void?addItems(String?item){??
  • ???List?items?=?new?ArrayList();??
  • ???items.add(item);??
  • }??
  • ??
  • /**??
  • *?@Description:示例3——抑制所有類型的警告:?
  • */??
  • @SuppressWarnings("all")??
  • public?void?addItems(String?item){??
  • ???List?items?=?new?ArrayList();??
  • ???items.add(item);??
  • }??
  • 抑制警告的關(guān)鍵字
    關(guān)鍵字用途
    allto suppress all warnings
    boxing?to suppress warnings relative to boxing/unboxing operations
    castto suppress warnings relative to cast operations
    dep-annto suppress warnings relative to deprecated annotation
    deprecationto suppress warnings relative to deprecation
    fallthrough?to suppress warnings relative to missing breaks in switch statements
    finally?to suppress warnings relative to finally block that don’t return
    hidingto suppress warnings relative to locals that hide variable
    incomplete-switch?to suppress warnings relative to missing entries in a switch statement (enum case)
    nls?to suppress warnings relative to non-nls string literals
    nullto suppress warnings relative to null analysis
    rawtypesto suppress warnings relative to un-specific types when using generics on class params
    restrictionto suppress warnings relative to usage of discouraged or forbidden references
    serialto suppress warnings relative to missing serialVersionUID field for a serializable class
    static-accesso suppress warnings relative to incorrect static access
    synthetic-access??to suppress warnings relative to unoptimized access from inner classes
    unchecked?to suppress warnings relative to unchecked operations
    unqualified-field-accessto suppress warnings relative to field access unqualified
    unusedto suppress warnings relative to unused code

    參考:http://www.cnblogs.com/fsjohnhuang/p/4040785.html

    總結(jié)

    以上是生活随笔為你收集整理的java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。