JDK1.5泛型之外的其它新特性,泛型相关看这里 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循环,配合泛型,我们可以把代码改写成, 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 这段代码要比上面清晰些,少写些,并且避免了强制类型转换。 6.静态导入(Static Imports) 5.可变参数(Varargs) 例如:我们要实现一个函数,把所有参数中最大的打印出来,如果没有参数就打印一句话。 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 我们发先写多少个都不够,子子孙孙无穷尽也 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 好了,无论多少个参数都可以了 |
|