Java 找出输入接口的实现类型
我有一个函数,它将接口Java 找出输入接口的实现类型,java,interface,temporary,implements,Java,Interface,Temporary,Implements,我有一个函数,它将接口compariable作为输入参数 int sort(Comparable A[]){...} 现在我想创建一个运行时a的临时变量(可能是Integer或Float,但我不知道),以便对排序算法进行比较。 怎么做的?我是Java的大一新生。首先,请不要使用。第二,我认为您不能,但您可以创建一个临时变量compariable。大概 static <T> void sort(Comparable<T> A[]){ if (A == null |
compariable
作为输入参数
int sort(Comparable A[]){...}
现在我想创建一个运行时a
的临时变量(可能是Integer
或Float
,但我不知道),以便对排序算法进行比较。怎么做的?我是Java的大一新生。首先,请不要使用。第二,我认为您不能,但您可以创建一个临时变量
compariable
。大概
static <T> void sort(Comparable<T> A[]){
if (A == null || A.length == 0) {
return;
}
Comparable<T> temp = A[0];
// ...
}
静态无效排序(可比A[]{
如果(A==null | | A.length==0){
返回;
}
可比温度=A[0];
// ...
}
请不要使用原始类型。如果你不知道他们是什么,那就用谷歌搜索他们。你为什么要这么做?只需将其再次存储在一个可比较的中即可。谢谢。我遇到一个问题:执行此操作时,我无法通过a[j-1]访问变量a
。比较到(a[j])
。它给出了编译器错误实际参数compariable无法通过方法调用转换转换为T#1得到它。使用A[j-1]将其强制转换为T
。在方法上方比较((T)A[j])
和“@SuppressWarnings(“unchecked”)`这是因为您的方法声明都是错误的,它应该是静态无效排序(T[]A)
。