IT之家 4 月 8 日消息,據(jù) IntelliJ IDEA 稱,Java 18 現(xiàn)已發(fā)布,從 2022.1 版本開始,IntelliJ IDEA 將提供對它的支持。現(xiàn)在官方帶來了功能詳解。
對代碼段的支持
JDK 18 引入了 JavaDoc 標準 Doclet 的 @snippet 標記,用于簡化在 API 文檔中包含示例源代碼的操作。
引入
https://openjdk.java.net/jeps/413
即使沒有顯式包裝器,代碼段片段仍會被識別為 Java 代碼。 任何語言都可以被指定,并且語言注入功能也適用于代碼段。 例如,可導航引用將適用于通過 import 可用的所有元素:
語言注入
https://www.jetbrains.com/help/idea/using-language-injections.html
沒有必要使用類的綁定編寫代碼段中的所有代碼。 片段將被 IntelliJ IDEA 識別為與 JShell 片段類似。
switch 表達式的模式:第二預覽
JDK17 中引入的 switch 表達式的模式匹配規(guī)范現(xiàn)已更新,添加了 IntelliJ IDEA 中已經(jīng)支持的兩個基本變更:
任何類型的模式(包括受保護的模式)都支配著常量 case。 模式和非常量 case 的支配沒有改變。
對于密封層次結構,子類型有時不能用于選擇器類型,或者不能轉換為選擇器類型。 您不再需要處理這些子類型來使 switch 語句詳盡無遺。
更新
https://openjdk.java.net/jeps/420
其他更新
從 Java 18 開始,非靜態(tài)內(nèi)部類(無論是否匿名)如果未使用就不會捕獲 `this`,因此檢查 Cleaner captures object reference(清理器捕獲對象引用)已相應更新。 它不會在代碼中觸發(fā)以下警告:
The inspection: Java | Probable bugs | Cleaner captures object reference( 檢查:Java | 可能的錯誤 | 清理器捕獲對象引用)
此外,在 JDK18 中,默認字符集現(xiàn)在是 UTF-8,而不是根據(jù)平臺存在的不同默認字符集。 報告隱式使用平臺默認字符集的方法和構造函數(shù)調(diào)用的 Implicit platform default charset(隱式平臺默認字符集)檢查已相應更新。
廣告聲明:文內(nèi)含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。