查阅泛型相关资料,定义一个类,实现如下功能 1、实现一个数组的排序,数组的类型不规定,能够支持各种数据类型的排序
时间: 2023-11-18 09:04:47 浏览: 121
详解c# 泛型类的功能
可以使用Java语言的泛型来实现这个功能,下面是一个示例代码:
```java
import java.util.Arrays;
public class GenericArraySorter<T extends Comparable<T>> {
private T[] array;
public GenericArraySorter(T[] array) {
this.array = array;
}
public void sort() {
Arrays.sort(array);
}
public T[] getArray() {
return array;
}
public static void main(String[] args) {
Integer[] intArray = {4, 2, 7, 1, 5};
GenericArraySorter<Integer> intSorter = new GenericArraySorter<>(intArray);
intSorter.sort();
System.out.println(Arrays.toString(intSorter.getArray()));
String[] strArray = {"apple", "banana", "orange", "grape"};
GenericArraySorter<String> strSorter = new GenericArraySorter<>(strArray);
strSorter.sort();
System.out.println(Arrays.toString(strSorter.getArray()));
}
}
```
在这个示例中,我们使用了泛型类型 `T` 来表示数组中的元素类型,使用了 `extends Comparable<T>` 来限制 `T` 必须是可比较的类型。在类的构造方法中,我们接收一个泛型数组并保存到一个成员变量中。类中的 `sort()` 方法使用 `Arrays.sort()` 来对数组进行排序。最后,我们提供了一个 `getArray()` 方法来获取排序后的数组。
在 `main` 方法中,我们分别使用了 `Integer` 和 `String` 类型来实例化 `GenericArraySorter` 对象,并调用 `sort()` 方法对数组进行排序。最后,我们使用 `Arrays.toString()` 方法来打印排序后的数组。
阅读全文