黑马程序员技术交流社区

标题: 求助 关于泛型 [打印本页]

作者: 唐林渊    时间: 2012-3-22 18:07
标题: 求助 关于泛型
package cn.itcast.excise;

import java.util.ArrayList;
import java.util.List;

import cn.itcast.day12.Person;

public class exercise3 {

        public static void main(String[] args) {
                List<Person> list =new ArrayList<Person>();
                list.add(new Person("张三", 19));
                list.add(new Person("李四",22));
                list.add(new Person("王五",19));
                list.add(new Person("赵六",21));
                findMax(list);
        }
        /*
         * 3.查找List<Person>中年龄最大的Person返回
         *                 定义一个Person类型的变量, 用来记住年龄最大的Person, 最初默认是记住0号
         *                 循环遍历, 判断每个Person的年龄, 如果比变量记住的大, 那么变量就记住这个Person
         *                 循环之后将变量返回
         */       
        public static void findMax(List<Person> list){
                Person max=list.get(0);
                for(Person p:list)                                              /////////////////////求教   这个地方为什么用for(List p:list)  也可以  ??   一个是泛型一个是集合类型 这个有什么区别,是
                        if(max.getAge()<p.getAge())                                                                                                                                                                      不是一样的????
                                max=p;
                System.out.println(max);
        }
}
作者: OMG    时间: 2012-3-22 19:02
1,集合的泛型是管理对象类型的;你不符合类型规范,就不让你编译通过,让编译器及时提示;
2,增强for循环,是取出元素的工具,跟泛型无关;
哥们,泛型和增强for循环都是JDK1.5的新特性;你是否思考过这两个新特性的由来和意义呢?

作者: H07000223    时间: 2012-3-22 19:19
可以?我没看错~~~
反正我的是不可以~~~
作者: 〆_xin_、_跳    时间: 2012-3-23 19:26
增强性for循环
for (Person p : list){
//Person 为集合的类型
}
张孝祥高新技术中有讲到增强性for循环,你还是认真看看吧。




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