泛型定义
泛型是在类、接口和方法级别上声明和使用,成员变量(实例变量)不能直接定义为泛型类型,然而,你可以在类中使用泛型类型参数,并在成员变量的类型中使用该泛型参数
1. 泛型类的定义
java
public class Box<T> {
private T value;
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
}
2. 泛型接口的定义
java
public interface SomeInterface<T> {
T doSomething();
}
3. 泛型方法的定义
java
//定义例子1 <T>是定义,T是使用
public <T> T someGenericMethod(T item) {
// 实现方法逻辑
return item;
}
public class Box {
//定义例子2
public static <T> void getValue(T pama1) {
System.out.println("pama1 = " + pama1);
}
public static void main(String[] args) {
String a ="111";
Box.getValue(a);
int b =11;
Box.getValue(b);
}
}
//例子3
public <T extends Comparable<T>> int compare(T obj1, T obj2) {
return obj1.compareTo(obj2);
}
//例子4
public <E> void printArray(E[] array) {
for (E element : array) {
System.out.print(element + " ");
}
System.out.println();
}
4. 限定泛型的上界(使用 extends 关键字)
java
public <T extends Number> void someMethod(T number) {
// 方法逻辑
}
5. 多个泛型参数
java
public class Pair<K, V> {
private K key;
private V value;
// 构造函数、getter和setter等方法
}