专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java入门教程-集合中的泛型使用入门

temp10 2024-10-16 15:55:31 java教程 15 ℃ 0 评论

1.1. 泛型(会用即可)

1.1.1. 什么是泛型(了解)

其实就是一种类型参数,主要用于某个类或接口中数据类型不确定时,可以使用一个标识符来表示未知的数据类型,然后在使用该类或方法时指定该未知类型的真实类型。

泛型可用到的接口、类、方法中,将数据类型作为参数传递,其实更像是一个数据类型模板。

Java入门教程-集合中的泛型使用入门

如果不使用泛型,从容器中获取出元素,需要做类型强转,也不能限制容器只能存储相同类型的元素。

List list = new ArrayList();

list.add("A");

list.add("B");

String ele = (String) list.get(0);

1.2. 自定义和使用泛型(了解)

定义泛型:使用一个标识符,比如T在类中表示一种未知的数据类型。

使用泛型:一般在创建对象时,给未知的类型设置一个具体的类型,当没有指定泛型时,默认类型为Object类型。

需求:定义一个类Point,x和y表示横纵坐标,分别使用String、Integer、Double表示坐标类型。

如果没有泛型需要设计三个类,如下:

定义泛型:

//在类上声明使用符号T,表示未知的类型

使用泛型:

画图分析:

注意:这里仅仅是演示泛型类是怎么回事,并不是要求定义类都要使用泛型。

1.3. 在集合框架中使用泛型(掌握)

拿List接口和ArrayList类举例。

此时的E也仅仅是一个占位符,表示元素(Element)的类型,那么当使用容器时给出泛型就表示该容器只能存储某种类型的数据。

因为前后两个泛型类型相同(也必须相同),泛型类型推断:

List<String> list1 = new ArrayList<String>();

可以简写为

List<String> list1 = new ArrayList<>();

通过反编译工具,会发现泛型其实是语法糖,也就是说编译之后,泛型就不存在了。

注意:泛型必须是引用类型,不能是基本数据类型(错误如下):

List<int> list = new ArrayList<int>();

泛型不存在继承的关系(错误如下):

List<Object> list = new ArrayList<String>();//错误的

本系列教程为叩丁狼Java基础班内部教材,若要获得最好的学习效果,需要配合对应教学视频一起学习。需要完整教学视频,请私信作者。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表