黑马程序员技术交流社区

标题: 参数传递以及循环的问题 [打印本页]

作者: 刘文飞    时间: 2012-10-17 11:04
标题: 参数传递以及循环的问题

代码如下,问题在注释中

————————————————————————————————————————————————————
public class GenericsDemo05{
        public static void main(String args[]){
                Integer i[] = fun1(1,3);//返回泛型数组
                fun2(i);
        }
        public static <T> T[] fun1(T...arg){//这样表示接收可变参数?
                return arg;
        }
        public static <T> void fun2(T parm[]){//输出
                for(T t:parm){//这种循环方式没看明白
                        System.out.print(t + ",");
                }
        }
}


作者: 王虎    时间: 2012-10-17 11:31
  public static <T> T[] fun1(T...arg){//这样表示接收可变参数?
                return arg;
        }
这是JDK1.5以后的新特性,参数列表里可以定义多个参数,方法在调用时当然可以传多个参数


for(T t:parm){//这种循环方式没看明白
                        System.out.print(t + ",");
                }
这个也是JAVA1.5的一个新特性叫做增强for循环,作用和最初这种写法for(初始值;执行条件;步长)  都是用来遍历的

T -----------类型

t------------自己定义的名字,随便起

parm-----------------定义好的引用名T[] parm或者按你代码里的写法T parm[]


作者: 陈军    时间: 2012-10-17 15:47
本帖最后由 陈军 于 2012-10-17 15:48 编辑

就是多了泛型,只要你看到参数中有...那肯定就是可变参数。可变参数的意思是说。
我这个参数,你可以传也可以不传。不过不传就没意义了。

循环。
T就是你要接收的泛型类型。你的第3个方法
   public static <T> void fun2(T parm[]){//输出
                for(T t:parm){//这种循环方式没看明白
                        System.out.print(t + ",");
                }
        }
表示接收的参数是T类型的数组,数组名字为 parm。 每一个数组元素都是T类型
下面的循环就是数组的遍历。而且这个循环是高级for循环。

高级for循环在数组遍历时的格式就是:
for(元素类型  你指定的变量名:数组名){你要执行的操作}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2