|
JDK1.5泛型之外的其它新特性,泛型相關(guān)看這里 1
class Bean {2 public void run() {3 // . 4 } 5 } 6
1
ArrayList list = new ArrayList();2 list.add( new Bean());3 list.add( new Bean());4 list.add( new Bean());5 6 for (Iterator ie = list.iterator(); list.hasNext();) {7 Bean bean = (Bean)ie.next();8 bean.run();9 10 } 11 12 使用For-Each循環(huán),配合泛型,我們可以把代碼改寫成, 1
ArrayList < Bean > list = new ArrayList < Bean > ();2 list.add( new Bean());3 list.add( new Bean());4 list.add( new Bean());5 6 for (Bean bean : list ) {7 bean.run();8 } 9 10 這段代碼要比上面清晰些,少寫些,并且避免了強(qiáng)制類型轉(zhuǎn)換。 6.靜態(tài)導(dǎo)入(Static Imports) 5.可變參數(shù)(Varargs) 例如:我們要實(shí)現(xiàn)一個(gè)函數(shù),把所有參數(shù)中最大的打印出來(lái),如果沒(méi)有參數(shù)就打印一句話。 1
prtMax() {2 System.out.println( " no parameter " );3 } 4 prtMax( int a) {5 System.out.println(a);6 } 7 prtMax( int a, int b) {8 if (a > b) {9 System.out.println(a);10 } else {11 System.out.println(b);12 } 13 } 14 15 我們發(fā)先寫多少個(gè)都不夠,子子孫孫無(wú)窮盡也 1
prtMax( int nums) {2 if (nums.length == 0 ) {3 System.out.println( " no parameter " );4 } else {5 int maxNum = 0 ;6 for ( int num :nums) {7 if (num > maxNum) {8 maxNum = num;9 } 10 } 11 System.out.println(maxNum);12 } 13 } 14 好了,無(wú)論多少個(gè)參數(shù)都可以了 |
|
|