栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 不带泛型的ArrayList 为什么使用泛型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 不带泛型的ArrayList 为什么使用泛型

一.不带泛型的ArrayList

        /*ArrayList使用泛型
        好处1.将运行期可能出现的问题提前的到编译器,如ArrayList的泛型是String就只能存储String类型,存储别的类型就会报错
            2.可以使用泛型中数据类型特有的方法:
        坏处1.只能存储一种类型的数据

二.为什么使用泛型

看一段代码

private static void genericTest() {
    List arrayList = new ArrayList();
    arrayList.add("总有刁民想害朕");
    arrayList.add(7);

    for (int i = 0; i < arrayList.size(); i++) {
        Object item = arrayList.get(i);
        if (item instanceof String) {
            String str = (String) item;
            System.out.println("泛型测试 item = " + str);
        }else if (item instanceof Integer)
        {
            String str = (String) item;
            System.out.println("泛型测试 item = " + inte);
        }
    }
}
//补充知识
1.集合只能存储引用类型,不能存储基本类型;在实际操作中基本类型会进行自动装箱,所以给人一种错觉,集合可以存储基本类型。array.add(1) 其实是 array.add(new Integer(1))
2.从集合中取出的元素都是Object类型.所以取出这段代码中集合的元素时需要向下转型
String str = (String) item;String str = (String) item;如果不加以判断其类型,一个Integer 类型的对象强行转换成String类型,你在编译的时就会抛异常。
3.如果想要避免这两点 可以使用泛型(对加入集合的元素类型进行判断,遍历时也不需要强制转换)

                                                                                                                                20220328

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号