使用泛型的好处以及定义和使用泛型的类

使用泛型的好处

创建集合对象时不使用泛型

好处:集合不使用泛型,默认类型就是Object类型,可以存储任意类型的数据

弊端:不安全,会引发异常

复制代码
  public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("abc");
        list.add(1);
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
            Object next = iterator.next();
            System.out.println(next);
            String s = (String) next;
            System.out.println(s.length());
        }
    }
复制代码

集合中存储的Integer类型的值不能转换成为String类型,所以会报异常

 

 

创建集合对象时使用泛型

好处: 1、避免了类型转换的麻烦,存储的是没是类型取出的就是什么类型

    2、把运行期(代码运行之后会抛出的异常)异常提升到了编译期(写代码的时候报错)。

弊端:泛型是什么类型就只能存储什么类型的数据

复制代码
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("abc");
        list.add("1");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);
            System.out.println(next.length());
        }
    }
复制代码

 

 

 

 

 

定义和使用泛型的类

定义一个含有泛型的类,模拟ArrayList集合

泛型是一个未知的数据类型,当我们不确定什么什么数据类型的时候,可以使用泛型

泛型可以接收任意的数据类型,可以使用Integer ,String, Student...

创建对象的时候确定泛型的数据类型

复制代码
    public static void main(String[] args) {
        //不写默认就是Object类型
        GenericClass gc = new GenericClass<>();
        gc.setName("任意类型");
        Object name = gc.getName();
        System.out.println(name);
        //创建对象,泛型使用Integer
        GenericClass<Integer> gc1 = new GenericClass<>();
        gc1.setName(123);
        Integer name1 = gc1.getName();
        System.out.println(name1);
        //创建对象,泛型使用String
        GenericClass<String> gc2 = new GenericClass<>();
        gc2.setName("张三");
        String name2 = gc2.getName();
        System.out.println(name2);
    }
复制代码

运行结果:

 

 

posted @   xjw12345  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示