写一个泛型方法比较二个数大小
时间: 2023-07-06 22:29:53 浏览: 49
好的,以下是一个比较两个数大小的泛型方法的示例代码:
```
public static <T extends Comparable<T>> int compare(T a, T b) {
return a.compareTo(b);
}
```
这个方法使用了泛型,可以比较任意实现了 Comparable 接口的两个对象的大小。返回值为 0 表示 a 和 b 相等,返回值大于 0 表示 a 大于 b,返回值小于 0 表示 a 小于 b。
相关问题
java 写一个传入泛型的函数
以下是一个传入泛型的函数示例,它可以返回传入的泛型类型的最大值:
```java
public static <T extends Comparable<T>> T max(T[] array) {
if (array == null || array.length == 0) {
return null;
}
T max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i].compareTo(max) > 0) {
max = array[i];
}
}
return max;
}
```
在这个函数中,我们使用了 `<T extends Comparable<T>>` 来限制传入的泛型类型必须是 `Comparable` 接口的子类,并且使用 `compareTo` 方法来比较大小。这样就可以保证传入的泛型类型是可以比较大小的,从而找到最大值。
定义一个泛型的list
当然可以!以下是一个泛型的列表的定义示例:
```java
import java.util.ArrayList;
import java.util.List;
public class GenericList<T> {
private List<T> list;
public GenericList() {
list = new ArrayList<>();
}
public void add(T element) {
list.add(element);
}
public T get(int index) {
return list.get(index);
}
public int size() {
return list.size();
}
}
```
在这个例子中,我们定义了一个名为 `GenericList` 的类,它使用泛型类型参数 `T`。该类包含一个基于 `ArrayList` 实现的列表,并提供了添加元素、获取元素和获取列表大小的方法。
你可以根据需要使用不同的类型实例化 `GenericList`,例如:
```java
GenericList<Integer> integerList = new GenericList<>();
integerList.add(1);
integerList.add(2);
System.out.println(integerList.get(0)); // 输出: 1
GenericList<String> stringList = new GenericList<>();
stringList.add("Hello");
stringList.add("World");
System.out.println(stringList.get(1)); // 输出: World
```
这样,你就可以创建一个适用于不同类型的泛型列表了。希望对你有帮助!如果你有任何其他问题,请随时提问。