gpt4 book ai didi

java - 如何使用泛型指定与 Comparable 类型的父类(super class)关系

转载 作者:行者123 更新时间:2023-12-02 10:18:01 25 4
gpt4 key购买 nike

我创建了一个 getMax 方法,它接受 Comparable 数组作为参数,并比较元素以找到最大元素,但我还必须实现泛型来指定父类(super class)关系,而且我不太明白我会怎么做那。下面是我的非泛型方法的 src

public static Comparable getMax(Comparable [] array){
Comparable max=array[0];
for(int x=0; x<array.length;x++){
if(array[x].compareTo(max)==1)
max=array[x];
}
return max;
}

最佳答案

您可以重写您的 getMax具有如下泛型的方法:

public static <T extends Comparable<T>> T getMax(T[] array){
T max=array[0];
for(int x=0; x<array.length;x++){
if(array[x].compareTo(max)==1)
max=array[x];
}
return max;
}

(你看,诀窍是将 Comparable 替换为 T ,并声明T成为Comparable<T> .)

然后,例如您可以像这样使用它:

String[] strings = { "Bob", "Alice", "Charlie" };
String maxString = getMax(strings); // gives "Charlie"

关于java - 如何使用泛型指定与 Comparable 类型的父类(super class)关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54536287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com