Java泛型主要有“定义泛型类”、“定义泛型接口”、“定义泛型方法”、”实例化泛型类或接口“、“使用通配符”和“使用泛型限定”六种用法:1、定义一个泛型类,使用来表示类型参数;2、定义一个泛型接口,使用来表示类型参数;3、定义一个泛型方法,使用来表示类型参数;4、在实例化一个泛型类或接口时,指定具体的类型参数;5、使用通配符来表示某个泛型类型的子类型或超类型。

Java泛型主要有以下几种用法:
- 定义泛型类
可以定义一个泛型类,使用
public class MyList{ private T[] array; public MyList(T[] array) { this.array = array; } public T get(int index) { return array[index]; } }
- 定义泛型接口
可以定义一个泛型接口,使用
public interface MyInterface{ T doSomething(); }
- 定义泛型方法
可以定义一个泛型方法,使用
立即学习“Java免费学习笔记(深入)”;
publicT doSomething(T param) { // ... }
- 实例化泛型类或接口
在实例化一个泛型类或接口时,必须指定具体的类型参数,例如:
MyListlist = new MyList<>(new String[]{"a", "b", "c"});
- 使用通配符
可以使用通配符来表示某个泛型类型的子类型或超类型,包括?、? extends T和? super T三种形式,例如:
MyList extends Number> list1 = new MyList<>(new Integer[]{1, 2, 3});
MyList super Integer> list2 = new MyList<>(new Number[]{1.0, 2.0, 3.0});其中,list1可以接受任何类型是Number的子类型(如Integer、Float等)作为元素,而list2可以接受任何类型是Integer的超类型(如Number、Object等)作为元素。
- 使用泛型限定
可以使用泛型限定来限制类型参数的范围,包括extends和super两种形式,例如:
publicvoid doSomething(T param) { // ... }
其中,











