一、引言
泛型定义的是一种类的约束关系,它表示的类要么自己写出,要么编译器可以推算得出。
二、泛型的使用
集合中使用泛型
Map<Person,
Integer> map = new TreeMap
<>();
Set<Map.Entry
<Person,
Integer>> set2
=map.entrySet();
自定义泛型类,泛型接口:
1.定义类,接口时可使用泛型< >,如
class A<T>{
}
class B extends A<String>{
}
2.如实例化是没指定泛型类型,则默认Object 3.继承泛型类和泛型接口时,可指定泛型类型,也可不指定
泛型方法: 调用方法时,通过输入参数决定方法返回值类型
public <
E>
E get(
E e)
{}
public <T>
List<T> fromArrayToList(T[ ] t,
List<T> list)泛型与继承的关系 集合间为并列关系,其共同父类为使用通配符“?”的集合类通配符 List<?> <? extends A>: A及其子类 <? super A> : A及其父类
注意几点: 1.不可在静态方法中使用泛型,因为泛型随着对象的创建确定 2.不可在catch(E e)中使用泛型 3.可以读取声明为通配符的集合类的对象(以Object方式读),但不能写入(唯一例外:null)
转载请注明原文地址: https://ju.6miu.com/read-38943.html