java注解:@Deprecated(不建議使用的,廢棄的);@SuppressWarnings(忽略警告,達到抑制編譯器產生警告的目的)

java注解:@Deprecated(不建議使用的,廢棄的), @SuppressWarnings(忽略警告,達到抑制編譯器產生警告的目的)
@Deprecated可以修飾類、方法、變量,在java源碼中被@Deprecated修飾的類、方法、變量等表示不建議使用的,可能會出現錯誤的,可能以后會被刪除的類、方法等,如果現在使用,則在以后使用了這些類、方法的程序在更新新的JDK、jar包等就會出錯,不再提供支持。 ? ? 個人程序中的類、方法、變量用@Deprecated修飾同樣是不希望自己和別人在以后的時間再次使用此類、方法。 ?當編譯器編譯時遇到了使用@Deprecated修飾的類、方法、變量時會提示相應的警告信息。
@SuppressWarnings?可以達到抑制編譯器編譯時產生警告的目的,但是很不建議使用@SuppressWarnings注解,使用此注解,編碼人員看不到編譯時編譯器提示的相應的警告,不能選擇更好、更新的類、方法或者不能編寫更規范的編碼。同時后期更新JDK、jar包等源碼時,使用@SuppressWarnings注解的代碼可能受新的JDK、jar包代碼的支持,出現錯誤,仍然需要修改。
可以看成@Deprecated注解和@SuppressWarnings注解是成對出現的。

通過@SuppressWarnings的源碼可知,其注解目標為類、字段、函數、函數入參、構造函數和函數的局部變量。而家建議注解應聲明在最接近警告發生的位置


[java]?view plaincopy
  1. ???/**??
  2. *?@Description:?編碼時我們總會發現如下變量未被使用的警告提示,?
  3. *?上述代碼編譯通過且可以運行,但每行前面的“感嘆號”就嚴重阻礙了我們判斷該行是否設置的斷點了。?
  4. *?這時我們可以在方法前添加?@SuppressWarnings("unchecked")?去除這些“感嘆號”。?
  5. */??
  6. public?String?convertXmlToSendMethods(Document?document){??
  7. ????//發布方式(1到多個)??
  8. ????List<Element>?methodName?=?document.selectNodes("/alert/code/method/methodName");??
  9. ????List<Element>?message?=?document.selectNodes("/alert/code/method/message");??
  10. ????List<Element>?audienceGrp?=?document.selectNodes("/alert/code/method/audienceGrp");??
  11. ????List<Element>?audenceprt?=?document.selectNodes("/alert/code/method/audenceprt");??
  12. ????//處理‘發布方式’復數??
  13. ????int?methodNameSize?=?0;??
  14. ????if?(null!=methodName?&&?methodName.size()>0)?{??
  15. ????????methodNameSize?=?methodName.size();??
  16. ????}??
  17. ????JSONArray?jsonArraySendMethods?=?new?JSONArray();??
  18. ????for?(int?i?=?0;?i?<?methodNameSize;?i++)?{??
  19. ????????JSONObject?json?=?new?JSONObject();??
  20. ????????json.put("methodName",?methodName.get(i).getTextTrim());??
  21. ????????json.put("message",?message.get(i).getTextTrim());??
  22. ????????json.put("audienceGrp",?audienceGrp.get(i).getTextTrim());??
  23. ????????json.put("audenceprt",?audenceprt.get(i).getTextTrim());??
  24. ????????jsonArraySendMethods.put(json);??
  25. ????}??
  26. ????return?jsonArraySendMethods.toString();??
  27. }??

@SuppressWarings注解?詳解

[java]?view plaincopy
  1. ???/**??
  2. *?@Description:示例1——抑制單類型的警告:??
  3. */??
  4. @SuppressWarnings("unchecked")??
  5. public?void?addItems(String?item){??
  6. ??@SuppressWarnings("rawtypes")??
  7. ???List?items?=?new?ArrayList();??
  8. ???items.add(item);??
  9. }??
  10. ??
  11. /**??
  12. *?@Description:?示例2——抑制多類型的警告:??
  13. */??
  14. @SuppressWarnings(value={"unchecked",?"rawtypes"})??
  15. public?void?addItems(String?item){??
  16. ???List?items?=?new?ArrayList();??
  17. ???items.add(item);??
  18. }??
  19. ??
  20. /**??
  21. *?@Description:示例3——抑制所有類型的警告:?
  22. */??
  23. @SuppressWarnings("all")??
  24. public?void?addItems(String?item){??
  25. ???List?items?=?new?ArrayList();??
  26. ???items.add(item);??
  27. }??
抑制警告的關鍵字
關鍵字用途
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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451259.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451259.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mysql 替換字段的一部分內容

UPDATE 表名 SET 字段名 REPLACE( 替換前的字段值, 替換前關鍵字, 替換后關鍵字 ) WHERE 字段名 REGEXP "替換前的字段值"; 例子&#xff1a; UPDATE user SET mobile REPLACE( head_img, "http://7xswdm.com1.z0.glb.clouddn.com", "http://qiniu-i…

聊聊3種最常見的響應式設計問題

響應式設計方法對開發者非常有用&#xff0c;因為它使我們的內容在各種設備上廣為傳播。不用保留幾個獨立版本的網站&#xff0c;也可以摒除諸如縮放和流式布局這些方法的弊端。 縮放、流式布局與響應式 這些術語容易造成混淆&#xff0c;設計師常常錯誤地交替互用。實際上&…

PV、TPS、QPS是什么

pv 是指頁面被瀏覽的次數&#xff0c;比如你打開一網頁&#xff0c;那么這個網站的pv就算加了一次&#xff1b;tps是每秒內的事務數&#xff0c;比如執行了dml操作&#xff0c;那么相應的tps會增加&#xff1b;qps是指每秒內查詢次數&#xff0c;比如執行了select操作&#xff…

AOP原理解析及Castle、Autofac、Unity框架使用

轉自&#xff1a;https://www.cnblogs.com/neverc/p/5241466.html AOP介紹 面向切面編程&#xff08;Aspect Oriented Programming,英文縮寫為AOP&#xff09;&#xff0c;通過預編譯方式和運行期動態代理實現程序功能的統一維護的一種技術。 AOP是OOP的延續&#xff0c;是軟件…

bootstrap validator 提供了哪些驗證函數

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 目前提供的校驗方法有&#xff1a; "notEmpty" : "不能為空", "password" : "請輸入正確的密碼&q…

帕累托分布(Pareto distributions)、馬太效應

什么是帕累托分布 帕累托分布是以意大利經濟學家維弗雷多帕雷托命名的。 是從大量真實世界的現象中發現的冪次定律分布。這個分布在經濟學以外&#xff0c;也被稱為布拉德福分布。 帕累托因對意大利20%的人口擁有80%的財產的觀察而著名&#xff0c;后來被約瑟夫朱蘭和其他人概括…

兩個class寫在同一個java文件中

第一種&#xff1a; 一個public類&#xff0c;多個非public類&#xff0c;例如&#xff1a;public class A&#xff5b;&#xff5d;class B&#xff5b;&#xff5d;第二個class前面不能加public。 第二種&#xff1a; 第二種是內部類&#xff0c;寫在公共類體里面的&#xff…

微信小程序的一些數據調用方式

1.模板數據的調用 一張圖了解一下在wxml頁調用預先定義好的模板&#xff1a; 可以看到上面調用了兩個模板&#xff0c;數據調用卻是不同的&#xff0c;obj是一個對象&#xff0c;對象內包含多個鍵值對形式的數據&#xff1b; tabbar是一個一維數組&#xff0c;每個數組項又都是…

手機廠商探路互聯網:硬件高利潤時代已成歷史

華為消費者業務集團CEO兼終端公司董事長余承東近日出席“2012年全球移動互聯網大會”期間證實&#xff0c;華為計劃與奇虎360合作推出一款智能手機。 余承東表示&#xff0c;華為終端將嘗試與多家互聯網公司就智能手機業務展開合作&#xff0c;但他未透露與奇虎360合作的更多細…

解決:按截圖 ctrl+alt+a QQ聊天窗口就自動最小化(QQ以外的可以截圖)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、問題如題 &#xff0c;想截圖QQ聊天記錄都不行 二、 解決方法&#xff1a; 如圖找到QQ截圖按鈕&#xff0c;點擊下拉倒三角&…

數據庫備份DBS商業化發布

數據庫備份DBS商業化發布將在2018年7月11日 15:00-16:00直播&#xff0c;敬請關注&#xff01; 數據庫備份DBS為數據庫提供連續數據保護、低成本的備份服務。 它可以為多種環境的數據提供強有力的保護&#xff0c;包括企業數據中心、其他云廠商及公共云。數據庫備份提供數據備份…

堡壘機(跳板機)

堡壘機&#xff08;跳板機&#xff09;&#xff1f;現在一定規模互聯網企業&#xff0c;往往都擁有大量服務器&#xff0c;如何安全并高效的管理這些服務器是每個系統運維或安全運維人員必要工作。現在比較常見的方案是搭建堡壘機環境作為線上服務器的入口&#xff0c;所有服務…

2018-09-18

12.1 LNMP架構介紹 和LAMP不同的是&#xff0c;提供web服務的是Nginx并且php是作為一個獨立服務存在的&#xff0c;這個服務叫做php-fpmNginx直接處理靜態請求&#xff0c;動態請求會轉發給php-fpm12.2 MySQL安裝 二進制免編譯包安裝 [rootlocalhost ~]# cd /usr/local/src/ [r…

舉例說明Java中代碼塊的執行順序

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 結論 這里先把整理好的結論拋給大家&#xff0c;然后我在寫個程序來驗證我們的結論。在Java類被new的過程中&#xff0c;執行順序如…

Google 正式開源 Jib ,幫助 Java 應用快速容器化

Google 本周宣布開源一款新的 Java 工具 Jib &#xff0c;旨在讓開發者使用他們熟悉的工具更輕松地將 Java 應用程序容器化。在7月9日發布的博客文章中&#xff0c;Google 軟件工程師 Appu Goundan 和 Qingyang Chen 將 Jib 描述為一個容器鏡像構建器&#xff0c;旨在處理將 Ja…

“公敵”京東:眾同行將其拖入價格戰

倒京東語錄 當當網董事長李國慶&#xff1a; 京東的資金只能維持到8月至12月。當當網是賺一個花兩個&#xff0c;而京東則是賺一個花四個。 蘇寧電器董事長張近東&#xff1a; 我至今沒有看見過哪個企業能通過這種方式取得最后勝利。這種違背正常商業邏輯的做法&#xff0c…

跨域與跨域訪問

什么是跨域 跨域是指從一個域名的網頁去請求另一個域名的資源。比如從www.baidu.com 頁面去請求 www.google.com 的資源。跨域的嚴格一點的定義是&#xff1a;只要 協議&#xff0c;域名&#xff0c;端口有任何一個的不同&#xff0c;就被當作是跨域 為什么瀏覽器要限制跨域訪…

thymeleaf 使用javascript定義數組報錯

js中免不了的要用的數組&#xff0c;一維的二維的三維的 但是當用到thymeleaf作為模版時候會有一些坑&#xff0c;導致數組不能用 org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "{checkbox: true, fixed: true}, {field: origi…

解決:Failed to execute goal on project aopcore: Could not resolve dependencies for project com.cmos:

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、問題描述 maven工程 jar包無法下載&#xff0c;報錯如下 &#xff1a; [ERROR] Failed to execute goal on project aopcore: Cou…

從Xbox和Zune中學到的四門創業課

導讀&#xff1a;微軟前娛樂與設備部門總裁Robbie Bach領導他的團隊&#xff0c;實現了Xbox的暢銷。然而&#xff0c;他領導該部門推出的Zune音樂播放器&#xff0c;卻沒那么成功。從Robbie這兩個經歷中&#xff0c;我們們能學到什么&#xff1f;本文是Robbie自己的總結&#x…