gpt4 book ai didi

java - 当 T 为整数时,如何获取返回 T 的泛型类方法以将其返回为 Integer?

转载 作者:行者123 更新时间:2023-12-01 11:28:20 24 4
gpt4 key购买 nike

首先,很抱歉问了这么模糊的问题,我不知道还能怎么说。

如果我有一个类堆:

public class Heap<T> {
private T[] arr;
private int heapSize;

public T peek() {
if (heapSize > 0) {
return arr[0];
} else {
return null;
}
}
}

还有另一种方法:

double mean(int a, int b) {
return (a + b)/ 2.0;
}

这被称为

mean(heapA.peek(), heapB.peek());

它抛出一个错误,指出mean(int, int)不能应用于(Object, Object)

类似的东西适用于 ArrayList 或其他一些内置结构。

我在这里缺少什么?

类型转换解决了这个问题,但我只是好奇为什么这适用于 ArrayList 但不适用于我的类。

最佳答案

创建ArrayList的方式,需要创建Heap对象。

ArrayList<Integer> list = new ArrayList<Integer>();

你注意到了吗<Integer>在声明中?

Heap<Integer> heapA = new Heap<Integer>();

现在不需要添加类型转换mean方法。

关于java - 当 T 为整数时,如何获取返回 T 的泛型类方法以将其返回为 Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30623674/

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