一個很有經驗的編程方式

來源:互聯網
上載者:User

 作為程式員,對於產品記憶體的消耗一定要嚴格把關,今天看到一個朋友的回帖,點醒了我:

 

一個很簡單的問題,應該說經常遇到, 將一個集合/數組中的元素組成一個字串,每個元素之間用一個指定的分隔字元隔開,如 :

List : ["Apple", "MS", "Google"] ⇒ String : "Apple;MS;Google"

以下使用最基本的代碼實現,有三種方式,都大同小異。Code Review 時,有人提出說總覺得不夠雅。

大家如果有雅的實現方式, 那就亮出來吧~

Java code
 public String getContents(List<String> list) throws Exception {              StringBuilder sb = new StringBuilder();             for (int i = 0; i < list.size(); i++) {                      String content = list.get(i);                       sb.append(content);                      // 判斷不是list的最後一個元素時,追加分隔字元:";"                     if (i < list.size() - 1) {                              sb.append(";");                      }           }                   return sb.toString(); } 

 

Java code
 public String getContents(List<String> list) throws Exception {              StringBuilder sb = new StringBuilder();              for (String content : list) {                       sb.append(content).append(";");            }                    // 截取最後一個分隔字元之前的內容                   return sb.substring(0, sb.length() - 1); } 

 

Java code
 public String getContents(List<String> list) throws Exception {             StringBuilder sb = new StringBuilder();             for (String content : list) {                 sb.append(content).append(";");             }             // 將最後一個多餘的分隔字元刪除             return sb.deleteCharAt(sb.length() - 1).toString(); }

 下面是朋友的回帖

Code:
  1. public String getContents(List<String> list) throws Exception {  
  2.     StringBuilder sb = new StringBuilder();  
  3.     for (String content : list)  
  4.         sb.append(";").append(content);  
  5.     return sb.deleteCharAt(0).toString();  
  6. }  

相對於最後一個例子:刪除第一個比刪除最後一個省去減法運算

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.