美文网首页
泛型的概述和体现增强for概述

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

作者: 牛倩贱 | 来源:发表于2019-05-29 21:28 被阅读0次

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

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

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

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

    public class Generics {

    public static void main(String[] args) {

    //创建集合对象

    Collection<Student> c = new ArrayList<Student>();

    //创建学生对象

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

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

    //添加学生对象

    c.add(s);

    c.add(s2);

    //遍历学生集合

    Iterator<Student> 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<String> c = new ArrayList<String>();

    再利用增强for来进行遍历

    for(String  s : c){

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

    }

    相关文章

      网友评论

          本文标题:泛型的概述和体现增强for概述

          本文链接:https://www.haomeiwen.com/subject/ngdlwqtx.html