泛型的概述和体现增强for概述

        集合可以存储任意类型的对象,当我们存储了不同类型的对象,就可能在转换时出现类型转换异常,所以java提供了泛型机制。

泛型:是一种广泛的类型,把明确数据类型的工作提前到了编译时期。

泛型的好处:避免了类型转换的问题,可以简化代码的书写。

//使用集合存储自定义对象并遍历

public class Generics {

public static void main(String[] args) {

//创建集合对象

Collection c = new ArrayList();

//创建学生对象

Student s = new Student("李倩倩",20);

Student s2 = new Student("樊浩岚",20);

//添加学生对象

c.add(s);

c.add(s2);

//遍历学生集合

Iterator it = c.iterator();    //获取迭代器对象

while(it.hasNext()){

/*Student str = (Student)it.next();

System.out.println(str);*/

Student st = it.next();

System.out.print(st.name);

System.out.println(st.age);

}

}

}

---------------------------------------------

class Student{

String name;

int age;

public Student(String name,int age){

this.name = name;

this.age = age;

}

}

2.增强for:foreach,一般用于遍历集合或数组。

格式:for(元素类型      变量:集合或数组对象){

            可以直接使用变量;       

}

例:public class ForeachDemo{

            public static void main(String [ ] args) {

            //创建集合对象

                Collection c = new ArrayList();

                    //添加元素

            c.add(“hello”);

            c.add(“world”);

            c.add(“java”);

            //增强for遍历集合

            for(Object   obj : c) {

            System.out.println(obj);

}     }      }

注意:假设还想对上例进行大小写或其他处理,那就需要变为String类型,但上例肯定是不行的,这就需要对上例添加泛型去自定义类型。在创建集合对象的时候就添加  Collection c = new ArrayList();

再利用增强for来进行遍历

for(String  s : c){

System.out.println(s.toUpperCasd());    //将值变为大写

}

你可能感兴趣的:(泛型的概述和体现增强for概述)