Java泛型变量在不同场景下的应用主要体现在以下几个方面:
List<String> stringList = new ArrayList<>();
stringList.add("Hello");
String str = stringList.get(0); // 不需要进行类型转换
Box
,可以存储任意类型的对象。public class Box<T> {
private T content;
public void setContent(T content) {
this.content = content;
}
public T getContent() {
return content;
}
}
swap
,可以交换两个变量的值。public static <T> void swap(T[] array, int i, int j) {
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
?
来表示未知类型。例如,定义一个方法printList
,可以打印任意类型的列表。public static void printList(List<?> list) {
for (Object elem : list) {
System.out.println(elem + " ");
}
System.out.println();
}
max
,可以比较实现了Comparable
接口的对象。public static <T extends Comparable<T>> T max(T[] array) {
T max = array[0];
for (int i = 1; i< array.length; i++) {
if (array[i].compareTo(max) > 0) {
max = array[i];
}
}
return max;
}
总之,Java泛型变量在不同场景下的应用可以提高代码的可读性、可维护性和安全性,避免运行时出现类型转换错误。