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 這段代碼要比上面清晰些,少寫些,,并且避免了強制類型轉(zhuǎn)換,。 6.靜態(tài)導(dǎo)入(Static Imports) 5.可變參數(shù)(Varargs) 例如:我們要實現(xiàn)一個函數(shù),,把所有參數(shù)中最大的打印出來,,如果沒有參數(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ā)先寫多少個都不夠,子子孫孫無窮盡也 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 好了,無論多少個參數(shù)都可以了 |
|