Java一些小的思想

來源:互聯網
上載者:User

標籤:運算子   ima   失敗   oid   否則   字串   uil   ret   integer   

1.用if+return代替複雜的if...else(if+return)

    public static void test1(String str) {        if ("1".equals(str)) {            System.out.println("輸入的參數是1");            return;        }        if ("2".equals(str)) {            System.out.println("輸入的參數是2");            return;        }        if ("3".equals(str)) {            System.out.println("輸入的參數是3");            return;        }        System.out.println("你輸入的不是123`````````");        // ...這裡可以寫不滿足上述條件的處理    }

 

2.盡量減少對變數的重複計算(for迴圈的用法)

明確一個概念,對方法的調用,即使方法中只有一句語句,也是有消耗的,包括建立棧幀、調用方法時保護現場、調用方法完畢時恢複現場等。所以例如下面的操作:

 

for (int i = 0; i < list.size(); i++){...}

 

 

建議替換為:

 

for (int i = 0, int length = list.size(); i < length; i++){...}

 

 

這樣,在list.size()很大的時候,就減少了很多的消耗

 

補充:

用第一種方法時進行非空驗證:

for (int i = 0; list!=null && i < list.size(); i++){...}

 

3.迴圈內不要不斷建立對象引用

例如:

 

for (int i = 1; i <= count; i++){    Object obj = new Object();    }

 

 

這種做法會導致記憶體中有count份Object對象引用存在,count很大的話,就耗費記憶體了,建議為改為:

 

Object obj = null;for (int i = 0; i <= count; i++){    obj = new Object();}

 

 

這樣的話,記憶體中只有一份Object對象引用,每次new Object()的時候,Object對象引用指向不同的Object罷了,但是記憶體中只有一份,這樣就大大節省了記憶體空間了。

 

4、盡量使用HashMap、ArrayList、StringBuilder,除非安全執行緒需要,否則不推薦使用Hashtable、Vector、StringBuffer,後三者由於使用同步機制而導致了效能開銷

5.字串變數和字串常量equals的時候將字串常量寫在前面

String str = "123";if (str!=null && "123".equals(str)){    ...}

這麼做主要是可以避免null 指標異常

6.任何資料在使用之前進行非空判斷(包括對象,list)

        List<Employeeexam> employeeInExams = exam.getEmployeeInExams();        List<Employeeexam> employeeOutExams = exam.getEmployeeOutExams();        boolean insertEmployeeResult = false;        int in_size, out_size;        in_size = employeeInExams != null ? employeeInExams.size() : 0;        out_size = employeeOutExams != null ? employeeOutExams.size() : 0;        Integer employeeNum = in_size + out_size;

7.if...else...語句用條件運算子 

return examMapper.deleteByPrimaryKey(id) > 0 ? true : false;
result = examService.deleteExamById(examId) ? "刪除成功!" : "刪除失敗!";

 

Java一些小的思想

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.