java - 在 Comparable 中使用泛型

标签 java generics

我正在尝试使用 Comparable<T> 在 Java 中实现泛型界面。

public static <T> T[] sort(T[] a) {
    //need to compare 2 elements of a
}

比方说,我想覆盖 compareTo上述类型的方法TComparable界面。 IE。我需要比较我的类型的两个元素 T ,我将如何做?我不知道我的 T类型将是。

最佳答案

您需要为您的方法设置类型约束。

public static <T extends Comparable<? super T>> T[] sort (T[] a)
{
         //need to compare 2 elements of a
}

这会强制类型 T 具有 compareTo(T other) 方法。这意味着您可以在您的方法中执行以下操作:

if (a[i].compareTo(a[j]) > 0) }

}

关于java - 在 Comparable 中使用泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4229253/

相关文章:

Java - 保存 XML 后保留空格

java - 访问者模式可以用于执行通用双重调度吗?

java - 为什么 Java 需要一个方法参数来正确推导泛型?

java - 使用selenium获取页面源代码,如何在没有firefox的服务器上使用我的代码?

java - 如何使用java在Excel中将特定单元格设置为边框形式

java - Android 设备的每次移动都会调用 onLocationChanged 函数吗?

java - 模拟初始上下文

java - 为什么 Java 编译器不能解决这个问题?

c++ - 使用模板化接口(interface)导致 “Undefined reference to”

c# - 通用接口(interface)的非通用实现