本文主要是介绍浅谈java之泛型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
系列文章目录
文章目录
- 系列文章目录
- 一、泛型的概念:
- 泛型类的使用
- 泛型类的使用语法:
- 泛型类注意事项:
- 泛型接口
一、泛型的概念:
Java泛型(generics)是 JDK5 中引入的一个新特性,泛型提供了编译时类型安全检测机制
,该机制允许在编译时检测到非法的类型数据结构。
-
泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数(
指定参数类型
) -
泛型相当于提供了一个安全限制,不符合类型转换的会报错
泛型类的使用
泛型类的定义语法:
class 类名称 < 泛型标识,泛型标识 ,... > {private 泛型标识 变量名;....
}
- 泛型标识可以理解为类型的形参常用的泛型标识:
- T 、 E 、 K 、 V
E ----Element(在集合中使用,因为集合中存放的是元素)
T ----Type(Java类)
K ----Key(键)
N ----Number(数值类型)
V ----Value(值)
/*
泛型类的定义:<T> 泛型标识--类型形参T 创建对象的时候里指定具体的数据类型*/
public class Test02 <T>{// T 是由外部使用类的时候来指定private T key;public Test02 (T key) {this.key = key;}public T getKey(){return key
泛型类的使用语法:
-
使用语法:
类名<具体的数据类型> 对象名 = new 类名 <具体的数据类型>(); -
Java1.7以后,后面的<>中的具体的数据类型可以省略不写
类名<具体的数据类型> 对象名 = new 类名<>();
以上两种写法格式效果一样
/*
泛型类的定义:<T> 泛型标识--类型形参T 创建对象的时候里指定具体的数据类型*/
public class Test02 <T>{// T 是由外部使用类的时候来指定public static void main(String[] args) {//泛型类在创建对象的时候,来指定操作的具体数据类型Test02<String> strTest = new Test02<>("abc");//只能传指定的类型数据,不然会报错String key1 = strTest.getKey();System.out.println(key1);//abc//定义一个泛型类,可以操作不同的数据类型,减少了转换,提高了代码的复用率Test02<Integer> intTest = new Test02<>(100);//只能传指定的类型数据,不然会报错
泛型类注意事项:
- 1.泛型类,如果没有指定具体的数据类型,此时操作类型是Object;
- 2.泛型的类型参数只能是类类型,不能是基本数据类型;
- 3.泛型类型在逻辑上可以看成是多个不同的类型,但实际上都是相同类型;
泛型接口
- 语法:
interface 接口名称 <泛型标识,泛型标识,...> {泛型标识 方法名();...
}
-
泛型接口的使用: ◦实现类不是泛型类,接口要明确数据类型;
-
实现类也是泛型类,实现类和接口的泛型类型要一致
这篇关于浅谈java之泛型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!