java中的泛类型类是干什么的?并举例说明如何使用
Java中的泛型类是一种可以接受不同类型参数的类。它可以让程序员在编写类时不需要预先确定数据类型,而是在实例化对象时再指定具体的类型。泛型类可以提高程序的灵活性和可读性,同时也可以避免类型转换的错误和安全问题。
举个例子来说明,假设我们有一个名为Pair的泛型类,它可以包含两个不同类型的对象:
public class Pair<T, U> {
private T first;
private U second;
public Pair(T first, U second) {
this.first = first;
this.second = second;
}
public T getFirst() {
return first;
}
public U getSecond() {
return second;
}
public void setFirst(T first) {
this.first = first;
}
public void setSecond(U second) {
this.second = second;
}
}
在实例化Pair对象时,我们可以指定具体的类型,例如:
Pair<String, Integer> pair1 = new Pair<>("Hello", 123);
Pair<Double, String> pair2 = new Pair<>(3.14, "World");
这样,pair1对象的first属性就是String类型的"Hello",second属性是Integer类型的123;pair2对象的first属性是Double类型的3.14,second属性是String类型的"World"。
泛型类还可以用在方法中,例如:
public static <T> T getMax(T[] arr) {
T max = arr[0];
for (T item : arr) {
if (item.compareTo(max) > 0) {
max = item;
}
}
return max;
}
这个方法接受一个泛型数组arr,返回其中最大的元素。在调用这个方法时,我们可以传入不同类型的数组:
Integer[] intArr = {1, 2, 3};
Double[] doubleArr = {1.0, 2.0, 3.0};
String[] stringArr = {"Hello", "World"};
Integer maxInt = getMax(intArr); // 返回3
Double maxDouble = getMax(doubleArr); // 返回3.0
String maxString = getMax(stringArr); // 返回"World"
``
原文地址: https://www.cveoy.top/t/topic/dihO 著作权归作者所有。请勿转载和采集!