在Java中,泛型是一种允许程序员在类、接口和方法中使用类型参数的技术。泛型可以使代码更加灵活,安全和可读性更强。以下是使用Java泛型可以实现的一些功能:
Pair<T, U>
,其中T
和U
是类型参数,表示一个泛型的键值对。public class Pair<T, U> {
private T key;
private U value;
public Pair(T key, U value) {
this.key = key;
this.value = value;
}
public T getKey() {
return key;
}
public U getValue() {
return value;
}
}
swap<T>
,用于交换两个泛型类型的变量。public static <T> void swap(T[] arr, int i, int j) {
T temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
Converter<T, U>
,用于将一个泛型类型的对象转换为另一个泛型类型的对象。public interface Converter<T, U> {
U convert(T obj);
}
MyList<T extends Number>
,表示只能存储数字类型的列表。public class MyList<T extends Number> {
private List<T> list;
public MyList() {
list = new ArrayList<>();
}
public void add(T item) {
list.add(item);
}
public List<T> getList() {
return list;
}
}
<? extends T>
表示可以接受T类型或T的子类型,或者使用<? super T>
表示可以接受T类型或T的父类型。public void addAll(List<? extends Number> list) {
for (Number number : list) {
this.list.add(number);
}
}
总之,Java中的泛型可以使代码更加灵活,安全和可读性更强,可以帮助程序员编写更加通用的代码。
领取专属 10元无门槛券
手把手带您无忧上云