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

JAVA泛型-泛型的概念及在集合中的使用

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

JAVA泛型-泛型的概念及在集合中的使用

1.什么是泛型

泛型(generics)是JDK1.5中引入的一个新特性,泛型提供了编译时类型安全的检测机制,该机制允许我们在编译时检测到非法的类型数据结构。

泛型的本质是 参数化类型,也就是所操作的数据类型被指定为一个参数。

2.泛型的好处
  • 类型安全
  • 消除了强制类型转换
3.在使用泛型之前存在的问题

以集合为例,在使用泛型之前,我们可以构建一个元素类型为Object的集合,该集合可以存储任意类型的元素,而在使用集合的过程中,必须明确知道每个元素的类型,【因为我们需要根据具体的数据类型进行对应的操作】,因此在使用过程中会进行类型的强制转换,就会存在很大几率上引发ClassCastException 异常;

import java.util.ArrayList;

public class ApplicationWithoutGenerics {
    public static void main(String[] args) {
        //1.创建一个没有使用泛型的ArrayList 对象
        ArrayList list = new ArrayList<>();
        //2.往集合对象中添加进入元素
        list.add("aa");
        list.add(100);
        list.add('b');
        list.add(true);
        //3.循环遍历一下元素:加如我们认为所有的元素都是 String 类型
        for (Object o : list) {
          String o_temp = (String) o; // 这里会存在异常
            System.out.println(o_temp);
        }
    }
}
# 运行结果
aa
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at com.northcastle.firstexperience.ApplicationWithoutGenerics.main(ApplicationWithoutGenerics.java:22)
4.集合中使用泛型

非常常见的操作,直接上代码

import java.util.ArrayList;


public class ApplicationWithGenerics {
    public static void main(String[] args) {
        //1.创建一个没有使用泛型的ArrayList 对象
        ArrayList list = new ArrayList<>();
        //2.往集合对象中添加进入元素
        list.add("aa");
        list.add("bb");
        list.add("cc");
        //list.add(100); // 添加非String类型的在编译时不会通过
        //3.循环遍历一下元素
        for (String s : list) { // 自动时别的就是String类型
            System.out.println(s);
        }
    }
}
# 运行结果 : 就是正常输出集合中的各个元素
aa
bb
cc
5.完成

Congratulations!
You are one step closer to success!

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

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

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