多餘的處理語句

多餘的處理語句
  這個問題差不多也是編程習慣的問題,可能是大家不知道,也有可能是沒有見過吧,不過這個問題很隱蔽呀,哈哈。
  這種問題當然不只是java纔有的, 任何程序都有可能出現多餘的垃圾, 儘管它的最終結果是正確的, 我們在寫程序的時候要儘可能避免這種不必要的處理。
常見的情況有以下幾種:
1、多餘的實例構造

避免使用NEW關鍵字來創建String對象。
把一個String常量copy到String 對象中通常是多餘、浪費時間的
Public class test{
Public void method(){
System.out.print (str);
}
private String str = new String ("1"); //這裏新建對象是完全沒有必要的
private String str2=”2” //正確的應該如此
}


延伸一下,聲明瞭一個對象的實例, 有的人喜歡同時new一下,即給它分配了空間, 而在後面並沒用到分配的空間, 而是進行了其它的操作,例:
ArrayList resultList = new ArrayList();

try {
resultList = SomeModule.getResultList();
} catch (Exception e) {
return null;
}

resultList在聲明的時候同時給它分配了空間, 但在下面卻用它指向了另外返回的地址。 雖然在寫Java程序的時候我們不用考慮內存的分配等令人頭疼的問題, Java有自己的一套內存管理機制, 但Java在對象的構造的時候開銷是很大的, 所以諸如此類的浪費效率的處理還是得要注意避免。


2、循環多餘
我們經常會從一個數組或Collection中通過循環來找出一個符合條件的元素進行操作, 而在執行完之後往往會忘記跳出循環體。 例:
String[] week = new String[]{“Sun”, “Mon”, “Tue”, “Wen”, “Thu”, “Fri”, “Sat”};
for (int i = 0; i  week.length; i++) {
if (week[i].equals(“Mon”)) {//還要判斷5次
System.out.println(“Mon is found”);
}
}
如果上面這段程序只是找出week中是否有Tue的話,則在找到之後應該跳出循環體, 正確的寫法如下:
for (int i = 0; i  week.length; i++) {
if (week[i].equals(“Tue”)) {
System.out.println(“Tue is found”);
break; (或有可能 return)
}
}
循環處理的原則就是在處理完畢的地方跳出。
3、重複語句
建議如果有兩個或兩個以上的地方需要用到相同的程序塊代碼, 就要考慮到使用函數, 如果一個功能塊比較獨立, 有可能在其它被調用, 這個時候也儘可能的使用方法獨立開來。
還有種情況就是在條件分支語句裏面, 各個分支都需要執行某個相同的語句, 這個時候就需要提到分支的外面去執行。
 

發佈了18 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章