在Java中,泛型变量的定义通常在类、接口或方法的声明中。泛型变量用尖括号<>括起来,并且可以有一个或多个泛型变量。这里有一些例子:
public class Box<T> {
private T item;
public void setItem(T item) {
this.item = item;
}
public T getItem() {
return item;
}
}
在这个例子中,Box是一个泛型类,T是一个泛型变量。你可以创建一个Box实例,指定任何类型的对象作为其存储项。
public interface Comparable<T> {
int compareTo(T o);
}
在这个例子中,Comparable是一个泛型接口,T是一个泛型变量。实现这个接口的类需要提供一个compareTo方法,该方法接受一个与泛型变量类型相同的参数。
public class Util {
public static <T> T getFirstItem(List<T> list) {
if (list == null || list.isEmpty()) {
return null;
}
return list.get(0);
}
}
在这个例子中,getFirstItem是一个泛型方法,T是一个泛型变量。这个方法接受一个List<T>类型的参数,并返回一个与泛型变量类型相同的对象。
注意:泛型变量的命名约定是使用单个大写字母,如T、E、K、V等。这样可以使代码更易于阅读和理解。