JDK1.8新特性Lambda表達式簡化if-else里都有for循環的優化方式


在日常開發過程當中,能把代碼寫出來,不一定就意味着能把代碼寫好,說不准,所寫的代碼在他人看來,其實就是一坨亂七八糟的翔,因此,代碼簡化尤其重要,我曾經遇到過這樣一個類型的代碼,即if-else里都有相同的for循環,這時,我就思考了,如何簡化它可以既提高代碼性能又減少代碼量。

 1     public static void main(String[] args) {
 2         String status = "is";
 3         String[] arrayStr = {"1", "3", "4", "6"};
 4         if ("is".equals(status)) {
 5             for (int i = 0; i < arrayStr.length; ++i) {
 6                 System.out.println("執行了正確的方法");
 7             }
 8         } else {
 9             for (int i = 0; i < arrayStr.length; ++i) {
10                 System.out.println("執行了錯誤的方法");
11             }
12 
13         }
14     }

研究了一番后,發現jdk1.8有一個Lambda新特性,其實,這玩意很有用,若能熟悉它,可以減少很多的代碼量,也能一定提高代碼的性能,例如,我通過Lambda表達式將上面的代碼簡化這了這樣,看起來是不是就沒那么冗余了:

 1     public static void main(String[] args) {
 2         String status = "is";
 3         String[] arrayStr = {"1", "3", "4", "6"};
 4 
 5         Arrays.asList(arrayStr).stream().forEach(
 6                 (e) -> {
 7                     if ("is".equals(status)) {
 8                         System.out.println("執行了正確的方法");
 9                     } else {
10                         System.out.println("執行了錯誤的方法");
11                     }
12                 }
13         );
14     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM