泛型

简介: 1.泛型的自动推断 等号右边的尖括号内的内容可以省略。如下句:Map<Integer,Double> m=new HashMap<>();//等效于Map<Integer,Double> m=new HashMap<Integer,Double>();需要新版 jdk 支持。 2.擦除 java的泛型是通过擦除来实现的。这意味着当你在使

1.泛型的自动推断

等号右边的尖括号内的内容可以省略。如下句:
Map<Integer,Double> m=new HashMap<>();//等效于Map<Integer,Double> m=new HashMap<Integer,Double>();
需要新版 jdk 支持。

2.擦除

java的泛型是通过擦除来实现的。这意味着当你在使用泛型时,任何具体的类型信息都被擦除了,你唯一知道的就是你在使用一个对象。
因此List<String>和List<Integer>在运行时事实上是相同的类型。它们都被擦除成它们的“原生”类型,即List。见下面的代码。


图2-1的代码也是编译不通过的。


图2-1:擦除导致的函数冲突

对比三个源文件。




3.泛型方法

泛型不仅可以用到整个类上,也可以用在一个函数中。也就是说,是否拥有泛型方法,与其所在的类是否是泛型没有关系。泛型还可以应用于内部类及匿名内部类。

代码4:泛型函数


4.泛型接口的实现

参考代码:



目录
相关文章
|
1月前
|
Java
|
4月前
|
安全 算法 Java
深入理解泛型
深入理解泛型
|
7月前
|
存储 安全 Java
泛型的使用
泛型的使用
40 0
|
1天前
|
Java 编译器 语音技术
泛型的理解
泛型的理解
7 0
|
26天前
什么是泛型,泛型的具体使用?
什么是泛型,泛型的具体使用?
|
4月前
|
存储 安全 Java
这还是你认识的泛型吗???!
这还是你认识的泛型吗???!
34 0
|
4月前
|
存储 Java
什么是泛型, 泛型的具体使用?
什么是泛型, 泛型的具体使用?
|
8月前
|
存储 安全 Java
泛型的相关知识
泛型的相关知识
69 0
|
Java 编译器 API
泛型-详解
泛型-详解
97 0
泛型-详解
|
算法 安全 Java