zoukankan      html  css  js  c++  java
  • 泛型的处理

    来源:由于集合可以存储任意类型的对象,就有肯能在转换的时候出现类型转换异常所以为了解决这个问题提供一种机制,叫做泛型

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

    泛型好处:

    •   避免了类型转换的问题
    •   可以减少黄色警告线  
    • 可以简化我们代码的书写

    什么时候可以使用泛型: 问API,当我们看到这样<E>

    public class GenericDeom {
        public static void main(String[] args) {
            //创建集合对象
            Collection c =new ArrayList();
            //创建元素对象
            Student s =new Student("zhangsan",18);
            Student s2 =new Student("lisi",19);
            //添加元素对象
            c.add(s);
            c.add(s2);
            //遍历集合对象
            Iterator it =c.iterator();
            while(it.hasNext()) {
                String str =(String)it.next();
                System.out.println(str);
                
                //Student stu=it.next();
                //System.out.println(stu.name);
            }
        }
    Exception in thread "main" java.lang.ClassCastException: com.kundada3.Student cannot be cast to java.lang.String
    	at com.kundada3.GenericDeom.main(GenericDeom.java:35)
    

     原因:添加的是学生,往字符串去转所以出错

    在实例化泛型类时,必须指定E的具体类型

    public class GenericDeom {
        public static void main(String[] args) {
            //创建集合对象
            Collection<Student> c =new ArrayList<Student>();
            //创建元素对象
            Student s =new Student("zhangsan",18);
            Student s2 =new Student("lisi",19);
            //添加元素对象
            c.add(s);
            c.add(s2);
            //遍历集合对象
            Iterator<Student> it =c.iterator();
            while(it.hasNext()) {
                //String str =(String)it.next();
                //System.out.println(str);
                
                Student stu=it.next();
                System.out.println(stu.name);
            }
        }
    
    }
    
    class Student{
        String name;
        int age;
        
        //方便对成员变量的初始化
        public Student(String name,int age) {
            this.name=name;
            this.age=age;
        }
    }
  • 相关阅读:
    一个统计代码行数的简单方法
    关于string的对象引用
    mysql连接的一些问题。
    linux环境初始化 用户问题
    php null o false ''
    php支付宝在线支付接口开发教程【转】
    模拟支付宝服务窗环境
    ctags
    校验全球电话号码 正确性 库 正则表达式
    php短路与 短路或
  • 原文地址:https://www.cnblogs.com/kun19/p/11074911.html
Copyright © 2011-2022 走看看