学分高考 Java

Java培训_Java中的泛型

发布时间: 2022-03-17 10:56:01

Java培训_Java中的泛型


泛型的概念
泛型:即“参数化类型”。说到参数,我相信大家首先想到的是,在定义方法时的形数和在调用方法时传递的实参。那么对于参数化类型,就是将类型有与原来的具体类型参数化。和方法中的参数类似。说白了就是将类型当作参数一样传递过来。
为什么需要泛型
那么我们就要想一下,按照以前的方式不也是挺好吗,为什么我们需要使用泛型呢?
对于这个问题我们可以通过一个例子来说明:

在上面这个例子中,因为集合可以存放任意类型的对象数据,所以当我们想要获取集合中字符串的长度时,我就需要用到数据类型转换。但是,在集合中不仅仅有字符串,也存在这int类型和boolean类型,所以再运行时期,会出现类型转换异常(ClassCastException)。
为了解决类似这样的问题,所以泛型就应运而生了。
通过使用泛型,将代码中的运行时异常提前到编译时异常,代码演示:
List<String> list = new ArrayList<String>();

//这时候,如果往集合中存储非字符串数据,代码再编译时期就报错
泛型的使用
泛型的使用方式:泛型类,泛型方法,泛型接口
泛型类
泛型应用与类中,被称为泛型类,例如:ArrayList,linked List
泛型类的定义格式:
public class Demo<泛型标识:可以写任意的标识号>{
private 泛型标识 var; //使用泛型定义变量
}
泛型的确定时机:泛型类中的泛型会再创建该类对象时决定泛型类型
Demo<String> demo = new Demo<String>(); //泛型是String
Demo<Integer> demo = new Dmeo<Interger>(); //泛型是Interger
泛型方法
泛型方法:是指带有泛型声明的方法。
泛型方法的定义格式:
public class Demo{
public <泛型标识> void info(泛型标识 var){}
}
泛型的确定时机:在调用方法的时候,会根据你所传递的参数类型,确定泛型的类型
Demo demo = new Dmeo();
demo.info(“togogo”); //这时候泛型是String类型
demo.info(true); //泛型是boolean类型
泛型接口
泛型接口:带有泛型的接口称为泛型接口。
泛型接口的声明格式和泛型类类似
public interface Demo<泛型标识>{}


泛型接口中的泛型决定方式有两种:
第一种:在实现接口的时候决定泛型
public class Test implement Demo<String>{}
第二种:是在创建实现类的时候决定泛型
public class Test<泛型标识> implement Demo<泛型标识>{}
Test<String> test = new Test<String>();
这就是泛型的几种常用方式。

温馨提示:
本文【Java培训_Java中的泛型】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号