在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
等。这样可以使代码更易于阅读和理解。