java中的泛型机制
2021-01-30 23:14
标签:报错 语法 log nim 表达式 程序 出现 转换 自定义 输出: 输出: java中的泛型机制 标签:报错 语法 log nim 表达式 程序 出现 转换 自定义 原文地址:https://www.cnblogs.com/yu011/p/12818848.html
这种语法机制,只在程序编译阶段起作用,只是给编译器参考的。(运行阶段泛型没用)
第一:集合中存储的元素类型统一。
第二:从集合中取出的元素类型是泛型指定的类型,不需要进行大量的向下转型。
导致集合中存储的元素缺乏多样性。import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Demo {
public static void main(String[] args) {
/*使用泛型List之后,
表示List集合中只允许存储Animal类型的数据。
用泛型来指定集合中存储的数据类型。*/
List list = new ArrayList();
/*指定List集合中只能存储Animal,
那么存储String就编译报错了。这样用了泛型之后,
集合中元素的数据类型更加统一了。*/
list.add(new Animal());
list.add(new Cat());
/*这个表示迭代器迭代的是Animal类型。*/
Iterator it = list.iterator();
while (it.hasNext()){
/*使用泛型之后,每一次迭代返回的数据都是Animal类型。*/
Animal a = it.next();
/*这里不需要进行强制类型转换,直接调用*/
a.move();
}
}
}
class Animal{
public void move(){
System.out.println("Animal move");
}
}
class Cat extends Animal{
public void move(){
System.out.println("Cat move");
}
}
1、JDK8之后引入自动类型推断机制。(又称为钻石表达式)
2、上面的第10行代码改为:List list = new ArrayList();
1、自定义泛型的时候,尖括号中的是一个标识符,随便写。
2、java源代码中经常出现的是:
,E是Element单词首字母。T是Type单词首字母。
3、代码示例:public class Demo
下一篇:springboot拦截器