日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

來看看,這些Java編程小技巧肯定有你不知道的

來源: 責編: 時間:2023-11-15 09:20:19 244觀看
導讀來看看,這些JAVA編程小技巧肯定有你不知道的首發2023-10-24 08:37·知識創富老七大家好,我是老七,點個關注吧,將持續更新更多精彩內容!使用增強的 for 循環增強的 for 循環也稱為 for-each 循環,允許您迭代數組或集合,而無需

PX228資訊網——每日最新資訊28at.com

來看看,這些JAVA編程小技巧肯定有你不知道的

大家好,我是老七,點個關注吧,將持續更新更多精彩內容!PX228資訊網——每日最新資訊28at.com

PX228資訊網——每日最新資訊28at.com

使用增強的 for 循環

增強的 for 循環也稱為 for-each 循環,允許您迭代數組或集合,而無需手動管理索引。它簡化了代碼并使其更具可讀性。例如:PX228資訊網——每日最新資訊28at.com

int [] numbers = { 1 , 2 , 3 , 4 , 5 }; for ( int number :numbers) {     // 用 number 做一些事情}

利用Java Streams API

Java 8中引入的Streams API為處理集合提供了強大的函數式操作。它允許您以簡潔且富有表現力的方式執行過濾、映射和歸約等操作。流可以增強代碼可讀性并減少樣板文件。例如:PX228資訊網——每日最新資訊28at.com

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);int sum = numbers.stream()                 .filter(n -> n % 2 == 0)                 .mapToInt(n -> n)                 .sum();

利用 var 關鍵字(對!你沒看錯,是var,Java也有了,Java 10+)

這不是JavaScript!該var關鍵字允許您使用隱式類型推斷來聲明變量。它減少了顯式指定類型的需要,使代碼更加簡潔。例如:PX228資訊網——每日最新資訊28at.com

var message = "Hello, world!";var numbers = List.of(1, 2, 3, 4, 5);

使用StringBuilder進行高效的字符串連接

當連接多個字符串時,使用StringBuilder類比重復使用'+'運算符更高效。很多人習慣定義很多個String類型的變量,然后通過“+”來拼接,其實可以試試使用StringBuilder ,來避免了不必要的對象創建并提供了更好的性能。例如:PX228資訊網——每日最新資訊28at.com

StringBuilder sb = new StringBuilder();sb.append("Hello");sb.append(" ");sb.append("world");String result = sb.toString();

使用三元運算符

使用三元運算符來實現簡潔的條件表達式:三元運算符 ( ? :) 允許您以緊湊的形式編寫簡單的條件表達式。它對于賦值或執行簡單的分支邏輯很有用。例如:PX228資訊網——每日最新資訊28at.com

int x = 10;String message = (x > 5) ? "大于 5" : "小于或等于 5";

使用try-with-resources進行自動資源管理

這個我提過很多次,當使用實現該AutoCloseable接口的資源時,例如文件流或數據庫連接,您可以使用try-with-resources語句來確保正確的資源清理,而無需顯式關閉它們。例如:PX228資訊網——每日最新資訊28at.com

try ( FileWriter  writer  =  new  FileWriter ( "myfile.txt" )) {     // 寫入文件}

使用<>運算符進行類型推斷:

如果可以從賦值上下文推斷類型,則<> ( ) 允許您省略泛型類實例化的類型參數。它減少了冗余并使代碼更清晰。例如:PX228資訊網——每日最新資訊28at.com

List <String> names = new ArrayList <>() ; // ArrayList 的類型推斷

使用該java.time包進行日期和時間操作

Java 8引入了該java.time包,它為日期和時間操作提供了更全面和直觀的API。LocalDate它提供了、LocalTime、LocalDateTime、 和 等類Duration,可簡化常見的日期和時間操作。PX228資訊網——每日最新資訊28at.com

應用方法引用:方法引用允許您通過名稱引用方法而不調用它。它們可以使您的代碼更加簡潔和富有表現力,尤其是在使用函數式接口時。例如:PX228資訊網——每日最新資訊28at.com

List<String> names = Arrays.asList("zhangsan", "lisi", "wangmazi");names.forEach(System.out::println); //System.out.println()

在接口中使用默認方法

從Java 8開始,接口可以有默認方法,它提供默認的實現。默認方法允許您向接口添加新方法,而不會破壞現有的實現。它們可以方便地向接口添加實用方法或提供默認行為。PX228資訊網——每日最新資訊28at.com

使用Optional類應用于判空的安全操作

該類Optional通過提供可能包含也可能不包含非空值的容器對象來幫助避免 NullPointerExceptions。它鼓勵更明確地處理潛在的空值并減少空檢查的需要。用于Optional指示某個值可能不存在并進行相應處理。PX228資訊網——每日最新資訊28at.com

使用 lambda 表達式進行函數式編程

Java支持使用Lambda 表達式的函數式編程。它們提供了用于實現功能接口的簡潔語法。Lambda 表達式在處理流、事件處理或異步編程時特別有用。PX228資訊網——每日最新資訊28at.com

使用String.format()格式化字符串的方法

該String.format()方法允許您使用占位符和參數創建格式化字符串。它提供了一種便捷的方法來構造具有特定格式要求(例如日期、數字或對齊方式)的字符串。不要再使用拼接字符串的方式輸出打印了,試試這個!例如:PX228資訊網——每日最新資訊28at.com

int x = 10;double y = 3.14;String formatted = String.format("The value of x is %d and y is %.2f", x, y);

明智地使用break 和 continue語句

break語句允許您提前退出循環,而continue語句會跳過循環迭代中的剩余代碼。必要時使用這些語句來控制循環中的執行流程,但要小心不要過度使用它們,因為它們會使代碼更難理解。PX228資訊網——每日最新資訊28at.com

使用Map.computeIfAbsent()方法

Java 8 中引入的方法允許您僅在鍵尚不存在時computeIfAbsent()計算給定鍵的值。Map它簡化了處理需要檢查鍵是否存在并有條件計算值的場景的代碼。PX228資訊網——每日最新資訊28at.com

Map<String, List<String>> map = new HashMap<>();map.computeIfAbsent("key", k -> new ArrayList<>()).add("value");

利用Math類進行常見的數學運算

Math類是Java 中提供了廣泛的數學函數和常量的工具類。它包括舍入、絕對值、對數、三角函數等方法。不要編寫自己的數學函數,而是直接使用Math類。PX228資訊網——每日最新資訊28at.com

double x = 3.14;double rounded = Math.round(x);double sineValue = Math.sin(x);

使用Arrays.copyOfRange()方法

如果您需要使用現有數組中的元素子集創建新數組,則該Arrays.copyOfRange()方法可能很有用。它允許您指定開始和結束索引,并返回一個包含指定元素的新數組。PX228資訊網——每日最新資訊28at.com

int[] sourceArray = {1, 2, 3, 4, 5};int[] newArray = Arrays.copyOfRange(sourceArray, 1, 4); // 創建一個新數組 {2, 3, 4}

多用String.join()方法

該String.join()方法將集合或數組的元素簡化為單個字符串。您可以指定要在元素之間插入的分隔符。PX228資訊網——每日最新資訊28at.com

List<String> names = Arrays.asList("zhagnsan", "lisi", "wangmazi");String joinedNames = String.join(", ", names); // Returns "zhangsan, lisi, wangmazi"

利用類EnumSet來處理枚舉集

利用 EnumSet 類處理枚舉集:如果需要處理一組枚舉值,EnumSet 類提供了高度優化的實現方式。它為枚舉提供了高效的存儲和操作。在處理枚舉常量時,EnumSet 是 HashSet 的高性能替代品。PX228資訊網——每日最新資訊28at.com

enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }Set<Day> weekdays = EnumSet.of(Day.MONDAY, Day.TUESDAY, Day.WEDNESDAY, Day.THURSDAY, Day.FRIDAY);

使用Collections.reverse()反轉列表的方法

該類Collections提供了處理集合的實用方法。該reverse()方法允許您反轉 中元素的順序List。PX228資訊網——每日最新資訊28at.com

List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));Collections.reverse(numbers); // 就地反轉列表

今天的分享就到這里,希望對你有幫助!!PX228資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-25470-0.html來看看,這些Java編程小技巧肯定有你不知道的

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python使用VTK系列之渲染流程分析

下一篇: Python 自動化: eip、cen監控數據對接到 grafana

標簽:
  • 熱門焦點
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • JVM優化:實戰OutOfMemoryError異常

    一、Java堆溢出堆內存中主要存放對象、數組等,只要不斷地創建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當這些對象所占空間超過
  • 重估百度丨“晚熟”的百度云,能等到春天嗎?

    &copy;自象限原創作者|程心排版|王喻可2016年7月13日,百度云計算戰略發布會在北京舉行,宣告著百度智能云的正式啟程。彼時的會場座無虛席,甚至排隊排到了門外,在場的所有人幾乎都
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 微博大門常打開,迎接海外畫師漂洋東渡

    作者:互聯網那些事&ldquo;起猛了,我能看得懂日語了&rdquo;。&ldquo;為什么日本人說話我能聽懂?&rdquo;&ldquo;中文不像中文,日語不像日語,但是我竟然看懂了&rdquo;&hellip;&hell
  • 三星顯示已開始為AR設備研發硅基LED微顯示屏

    7月18日消息,據外媒報道,隨著蘋果首款頭顯產品Vision Pro在6月份正式推出,AR/VR/MR等頭顯產品也就將成為各大公司下一個重要的競爭領域,對顯示屏這一關
  • iQOO Neo8 Pro評測:旗艦雙芯加持 最強性能游戲旗艦

    【Techweb評測】去年10月,iQOO推出了一款Neo7手機,該機搭載了聯發科天璣9000+,配備獨顯芯片Pro+,帶來了同價位段最佳的游戲體驗,一經上市便受到了諸多用
  • 蘋果140W USB-C充電器:采用氮化鎵技術

    據10 月 30 日 9to5 Mac 消息報道,當蘋果推出新的 MacBook Pro 2021 時,該公司還推出了新的 140W USB-C 充電器,附贈在 MacBook Pro 16 英寸機型的盒子里,也支
  • 2022爆款:ROG魔霸6 冰川散熱系統持續護航

    喜逢開學季,各大商家開始推出自己的新產品,進行打折促銷活動。對于忠實的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現在的
Top 主站蜘蛛池模板: 峨山| 武汉市| 定西市| 碌曲县| 泊头市| 来安县| 黑龙江省| 新蔡县| 宿迁市| 青冈县| 崇明县| 原阳县| 博乐市| 灯塔市| 临桂县| 尼勒克县| 周至县| 临猗县| 满洲里市| 阳西县| 田阳县| 铜鼓县| 西林县| 天门市| 庆元县| 神木县| 疏勒县| 龙里县| 宕昌县| 吉安县| 南丰县| 蒙自县| 江油市| 芜湖市| 秦安县| 江源县| 千阳县| 阿坝| 平阳县| 海门市| 龙陵县|