java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)
生活随笔
收集整理的這篇文章主要介紹了
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)的。
[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();?? }??
???/**?? *?@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)鍵字
通過@SuppressWarnings的源碼可知,其注解目標(biāo)為類、字段、函數(shù)、函數(shù)入?yún)ⅰ?gòu)造函數(shù)和函數(shù)的局部變量。而家建議注解應(yīng)聲明在最接近警告發(fā)生的位置
[java]?view plaincopy
@SuppressWarings注解?詳解
[java]?view plaincopy| 關(guān)鍵字 | 用途 |
| all | to suppress all warnings |
| boxing? | to suppress warnings relative to boxing/unboxing operations |
| cast | to suppress warnings relative to cast operations |
| dep-ann | to suppress warnings relative to deprecated annotation |
| deprecation | to 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 |
| hiding | to 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 |
| null | to suppress warnings relative to null analysis |
| rawtypes | to suppress warnings relative to un-specific types when using generics on class params |
| restriction | to suppress warnings relative to usage of discouraged or forbidden references |
| serial | to suppress warnings relative to missing serialVersionUID field for a serializable class |
| static-access | o 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-access | to suppress warnings relative to field access unqualified |
| unused | to suppress warnings relative to unused code |
參考:http://www.cnblogs.com/fsjohnhuang/p/4040785.html
總結(jié)
以上是生活随笔為你收集整理的java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Socket和ServerSocket
- 下一篇: pandas计算移动平均值