黑马程序员技术交流社区

标题: 关于增强for循环的疑问 [打印本页]

作者: 王清云    时间: 2011-9-13 23:10
标题: 关于增强for循环的疑问
今天看到泛型方法的练习
其中有一道题目是这样的:定义一个方法,可以将任意类型数组中的所有元素填充为相应类型的所有对象;
按照老师的写法:[code=java]private static <T> void fillmethod(T[] a,T obj){
                for(int i=0;i<a.length;i++){
                        a=obj;
                }[/code]这样写可以,但是换成[code=java]private static <T> void fillmethod(T[] a,T obj){
                for(T t:a){
                        t=obj;
                }
        }[/code]这样就不行,这样赋值语句相当于没有实现,为什么?
作者: 匿名    时间: 2011-9-14 14:41
你把obj赋值给临时变量t  而不是数组里的值。这样就能理解了。
作者: 匿名    时间: 2011-9-14 14:44
补充,你的第二段代码用第一段的格式写是这样的。[code]for(int i=0; i<a.length; i++) {
     T t = obj;
}[/code]
作者: 匿名    时间: 2011-9-14 16:26
t是临时变量,,,赋值给它,,数组a无变化啊。。
增加for   ,,就是用来遍历的
作者: 匿名    时间: 2011-9-15 15:17
明白了!谢谢大家!




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