netbeans代码提示_Java代码现代化的七个NetBeans提示
netbeans代碼提示
在“ 七個(gè)不可或缺的NetBeans Java提示”一文中 ,我談到了一般使用NetBeans提示的問(wèn)題,然后重點(diǎn)介紹了七個(gè)提示。 接下來(lái)列出了該帖子中強(qiáng)調(diào)的七個(gè)提示:- 可疑方法調(diào)用
- 使用==或!= AND字符串構(gòu)造函數(shù)比較字符串
- 構(gòu)造函數(shù)中的可重寫方法調(diào)用
- .equals不兼容類型
- ResultSet中的列索引不正確
- 與instanceof不兼容
- 生成.equals或.hashCode方法
在本文中,我著眼于一組不同的七個(gè)NetBeans提示,這些提示可能不像第一組那樣“不可或缺”,但是我發(fā)現(xiàn)它們對(duì)于移動(dòng)現(xiàn)有代碼和我自己的用Java編寫代碼的心態(tài)非常有用。進(jìn)入JDK 7時(shí)代。NetBeans6.9開(kāi)始引入了許多新提示 ,我非常喜歡這些提示 ,以便逐步改進(jìn)JDK 7的性能和安全性。
建議EnumMap和EnumSet
NetBeans 6.9在“性能”類別中引入的兩個(gè)提示是“可被EnumMap替換的地圖”(在NetBeans Java提示中描述為“可被EnumMap替換的地圖的實(shí)例化”)和“設(shè)置可被EnumSet替換”。 (描述為“查找可以用EnumSet替換的Set的實(shí)例化”)。 關(guān)于使用EnumMap和EnumSet的優(yōu)點(diǎn),我之前已經(jīng)發(fā)布過(guò) ,因此在使用現(xiàn)有代碼時(shí),我發(fā)現(xiàn)它們是兩個(gè)非常有用的提示。 盡管自J2SE 5以來(lái)Enum以及關(guān)聯(lián)的EnumMap和EnumSet都已存在,但是可能存在一些未使用它們的代碼庫(kù),因?yàn)榇a較舊或開(kāi)發(fā)人員在創(chuàng)建其地圖或集合時(shí)沒(méi)有想到它們。
下一系列快照以靜態(tài)方式演示了這些提示如何識(shí)別EnumSet和EnumMap可能更有效的潛在情況。 第一張圖片顯示了使用EnumSet的提示示例。 第二到第四張圖像演示了使用EnumMap的提示以及選擇要應(yīng)用EnumMap的操作以及該操作的結(jié)果。
JDK 7升級(jí)提示
NetBeans 7.x在提示的“ JDK 1.5及更高版本”類別中提供了一些與Java 7語(yǔ)法和語(yǔ)言支持有關(guān)的提示。 這些提示提供了更多有關(guān)NetBeans提示可以幫助將現(xiàn)有Java代碼庫(kù)引入到更新的和最新版本的JDK版本中的示例。 這里要注意的一件事是,與NetBeans項(xiàng)目關(guān)聯(lián)的源版本為JDK 7(1.7)時(shí),NetBeans僅會(huì)識(shí)別這些提示。
與JDK 7相關(guān)的兩個(gè)NetBeans提示與捕獲異常有關(guān)。 “使用多捕獲來(lái)加入捕獲部分”提示(“使用多捕獲來(lái)加入捕獲部分”)和“使用特定捕獲”提示(“將捕獲(可拋出)或捕獲(異常)轉(zhuǎn)換為多捕獲以捕獲由try主體拋出的異常”。 ”)是在NetBeans 7.0中引入的。
隨后的三個(gè)屏幕快照顯示了一個(gè)非常復(fù)雜的代碼段,該段代碼確實(shí)演示了“使用multicatch的加入捕獲”提示。 這三個(gè)圖像顯示了提示的顯示,選擇應(yīng)用提示以及應(yīng)用提示的結(jié)果。
NetBeans中與JDK 7相關(guān)的另一個(gè)異常處理提示是“使用特定的捕獲提示”。 捕獲比Exception (或更普通的Throwable )更具體的異常的想法在JDK 7中并不陌生,但這是一個(gè)依賴于JDK 7的提示,因?yàn)樗趫?zhí)行JDK 7 multicatch時(shí)會(huì)放置多個(gè)特定的已檢查異常 。轉(zhuǎn)換。 實(shí)際上,如果只有一個(gè)已知的已檢查異常比Exception或Throwable更具體,則提示不適用。 出于明顯的原因(畢竟不檢查!),不會(huì)考慮運(yùn)行時(shí)異常( 未檢查的異常 ),并且只有try子句中存在多個(gè)檢查的異常才會(huì)導(dǎo)致此提示。
以下屏幕快照描述了所有這些。 第一個(gè)屏幕快照描述了出現(xiàn)的提示,因?yàn)閠ry塊中可能有兩個(gè)已檢查的異常。 第二張圖片證明一個(gè)已檢查的異常的存在不足以使提示出現(xiàn)(其中一個(gè)已被注釋掉)。 第三幅圖顯示了再次適用的已檢查異常以及如何選擇要執(zhí)行的操作。 第四幅圖描述了接受提示的建議操作的結(jié)果:將常規(guī)Exception更改為具有可能遇到的兩個(gè)特定已檢查異常的多重捕獲。
NetBeans 6.9引入了“盡可能使用字符串轉(zhuǎn)換”。 提示(“標(biāo)記可轉(zhuǎn)換為切換字符串的ifs級(jí)聯(lián)。”)。 這使開(kāi)發(fā)人員可以更輕松地識(shí)別基于String的一系列條件,可以將其重構(gòu)為使用JDK 7 對(duì)Strings的支持。 接下來(lái)的三個(gè)屏幕快照演示了此提示的提供,應(yīng)用提示的能力以及提示的應(yīng)用結(jié)果。
JDK 7引入了菱形語(yǔ)法,以更簡(jiǎn)潔地使用泛型。 NetBeans 7.1引入了提示“可以使用鉆石”(被描述為“關(guān)于可以在JDK 7中使用鉆石運(yùn)算符代替顯式類型參數(shù)的位置的警告”),以幫助遷移代碼以使用這種更簡(jiǎn)潔的語(yǔ)法。 接下來(lái)的三個(gè)屏幕快照顯示了提示的顯示方式,單擊提示可以執(zhí)行的操作以及執(zhí)行該操作的結(jié)果。
NetBeans 7.0引入的“轉(zhuǎn)換為嘗試資源”提示(“將最終轉(zhuǎn)換為嘗試轉(zhuǎn)換為資源”)提示幫助開(kāi)發(fā)人員確定使用新的嘗試資源的便捷,安全方法的情況。被應(yīng)用。
接下來(lái)的四個(gè)圖像描述了NetBeans中“轉(zhuǎn)換為嘗試資源”提示的用法。 第一個(gè)屏幕快照顯示,如果首先在有條件的非空狀態(tài)下檢查資源,則不會(huì)出現(xiàn)提示。 第二張圖顯示,刪除資源上的條件會(huì)導(dǎo)致出現(xiàn)提示。 第三個(gè)屏幕快照顯示了應(yīng)用與提示關(guān)聯(lián)的操作的提示,第四個(gè)圖像顯示了應(yīng)用提示的結(jié)果。 這些快照中的示例改編自Java教程頁(yè)面try-with-resources語(yǔ)句中提供的示例。 NetBeans將該教程中提供的try-finally(在這種情況下為catch)示例轉(zhuǎn)換為實(shí)質(zhì)上是同一教程中所示的try-with-resources示例。
升級(jí)到NetBeans 7.1,以獲得最新和最佳的提示支持
我將NetBeans 7.1和NetBeans 7.1.1用于本文中顯示的屏幕快照。 盡管我在這里沒(méi)有介紹過(guò),但是NetBeans 7.1的一個(gè)有趣的提示相關(guān)功能是創(chuàng)建自定義提示的功能 。
結(jié)論
這篇博客文章涵蓋了七個(gè)NetBeans提示,這些提示可以幫助開(kāi)發(fā)人員利用Java的新功能(特別是JDK 7)。 啟用這些提示(包括將NetBeans項(xiàng)目與JDK 7關(guān)聯(lián)),使開(kāi)發(fā)人員可以快速識(shí)別可以在將編譯器升級(jí)到JDK 7時(shí)進(jìn)行現(xiàn)代化處理的舊代碼段,還可以幫助開(kāi)發(fā)人員學(xué)習(xí)使用這些新的構(gòu)造和功能編寫新代碼。 。 這篇文章涵蓋的提示是:
- 地圖可替換為EnumMap
- 設(shè)置可替換為EnumSet
- 使用多重捕捉加入捕捉部分
- 使用特定的漁獲
- 盡可能使用切換字符串
- 可以使用鉆石
- 轉(zhuǎn)換為嘗試資源
參考:來(lái)自JCG合作伙伴 Dustin Marx的七個(gè)NetBeans提示,可以使Java代碼現(xiàn)代化 ,在Inspired by Actual Events博客上。
翻譯自: https://www.javacodegeeks.com/2012/04/seven-netbeans-hints-for-modernizing.html
netbeans代碼提示
總結(jié)
以上是生活随笔為你收集整理的netbeans代码提示_Java代码现代化的七个NetBeans提示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 扩展Java EE应用程序的基础
- 下一篇: 在Java8中包装设计模式