Java泛型主要有“定义泛型类”、“定义泛型接口”、“定义泛型方法”、”实例化泛型类或接口“、“使用通配符”和“使用泛型限定”六种用法:1、定义一个泛型类,使用
来表示类型参数;2、定义一个泛型接口,使用 来表示类型参数;3、定义一个泛型方法,使用 来表示类型参数;4、在实例化一个泛型类或接口时,指定具体的类型参数;5、使用通配符来表示某个泛型类型的子类型或超类型。
Java泛型主要有以下几种用法:
可以定义一个泛型类,使用
public class MyList<T> { private T[] array; public MyList(T[] array) { this.array = array; } public T get(int index) { return array[index]; } }
可以定义一个泛型接口,使用
public interface MyInterface<T> { T doSomething(); }
可以定义一个泛型方法,使用
public <T> T doSomething(T param) { // ... }
在实例化一个泛型类或接口时,必须指定具体的类型参数,例如:
MyList<String> list = 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两种形式,例如:
public <T extends Number> void doSomething(T param) { // ... }
其中,
以上是Java泛型的用法的详细内容。更多信息请关注PHP中文网其他相关文章!