泛型

引出

集合模仿着数组的做法,在创建对象时候明确元素的数据类型。这种技术称为泛型。
泛型:“参数化类型”,把类型当作参数一样的传递。
格式:<数据类型> 此处的类型只能是引用类型。
好处:把运行时期的问题提到了编译期间;避免了强制类型转换;优化了程序设计,解决了黄色警告线。

Jdk API文档中的<E>表示要使用泛型。一般来说就是在集合中使用。

之前集合的代码改进

加泛型后,例如:

ArrayList<String> l= new ArrayList<String>();//ArrayList后加了<E>
//迭代器遍历:
Iterator<String> it= l.iterator();//Iterator后加了<E>
while(it.hasNext()){
            String s= it.next();//用了泛型后不用再强转类型
            System.out.println(s);
        }
//size()结合get(index)遍历
for(int i=0; i<l.size();++i){
            String s= l.get(i);//不用再强转
            System.out.print(s+" ");
        }

存储自定义对象并遍历(使用泛型):

import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListDemo2 {
    public static void main(String[] args){
        //创建集合
        ArrayList<Student> l= new ArrayList<Student>();

        //创建学生对象
        Student s1 = new Student("林青霞", 27);
        Student s2 = new Student("林志玲", 40);
        Student s3 = new Student("凤姐", 35);
        Student s4 = new Student("芙蓉姐姐", 18);
        Student s5 = new Student("翠花", 16);
        Student s6 = new Student("陈红", 27);
        Student s7 = new Student("林依晨", 18);

        //添加对象到集合
        l.add(s1);
        l.add(s2);
        l.add(s3);
        l.add(s4);
        l.add(s5);
        l.add(s6);
        l.add(s7);

        //遍历集合方式一
        for(int i=0; i<l.size();++i){
            Student s= l.get(i);
            System.out.println(s.getName()+" "+s.getAge());
        }

        //遍历集合方式二
        Iterator<Student> it= l.iterator();
        while(it.hasNext()){
            Student s= it.next();
            System.out.println(s.getName()+" "+s.getAge());
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值