1. [C風(fēng)格格式化輸出]
java總算也有類似C的PRintf()風(fēng)格的方法了,方法名同樣叫作printf(),這一特性依靠于前邊提到的可變長度參數(shù)。舉個(gè)例子來說,我們現(xiàn)在可以寫:
2.[增強(qiáng)的for循環(huán)]
你是否已經(jīng)厭倦了每次寫for循環(huán)時(shí)都要寫上那些機(jī)械的代碼,尤其當(dāng)你需要遍歷數(shù)組或者Collection,如:(假設(shè)在Collection中儲存的對象是String類型的)
public void showAll (Collection c) {
for (Iterator iter = c.iterator(); iter.hasNext(); ) {
System.out.println((String) iter.next());
}
}
public void showAll (String[] sa) {
for (int i = 0; i < sa.length; i++) {
System.out.println(sa[i]);
}
}
這樣的代碼不僅顯得臃腫,而且輕易出錯(cuò),我想我們大家在剛開始接觸編程時(shí),尤其是C/C++和Java,可能多少都犯過以下類似錯(cuò)誤的一種或幾種:把for語句的三個(gè)表達(dá)式順序弄錯(cuò);第二個(gè)表達(dá)式邏輯判定不正確(漏掉一些、多出一些、甚至死循環(huán));忘記移動游標(biāo);在循環(huán)體內(nèi)不小心改變了游標(biāo)的位置等等。為什么不能讓編譯器幫我們處理這些細(xì)節(jié)呢?在5.0中,我們可以這樣寫:
public void showAll (Collection c) {
for (Object obj : c) {
System.out.println((String) obj);
}
}
public void showAll (String[] sa) {
for (String str : sa) {
System.out.println(str);
}
}
新聞熱點(diǎn)
疑難解答
圖片精選