gpt4 book ai didi

java - 类型不匹配 : cannot convert from capture#2-of ? 将 Number 扩展到 T

转载 作者:搜寻专家 更新时间:2023-11-01 02:02:05 25 4
gpt4 key购买 nike

public class Stack {
private LinkedList<? extends Number> stack;

public <T extends Number> void push(T t){
stack.add(t);
}

public <T extends Number>T pop(){
return stack.removeLast();
}
}

添加和删除最后一个方法都会产生编译时错误。请帮助我了解我在这里做错了什么?

推送错误 -

The method add(capture#1-of ? extends Number) in the type LinkedList is not applicable for the arguments (T)

弹出错误 -

Type mismatch: cannot convert from capture#2-of ? extends Number to T

最佳答案

?T 不同,您还没有在类中定义 T(仅针对那些方法)。因此,我建议您将整个 Stack 类设为通用类:

public class Stack<T extends Number> {
private LinkedList<T> stack;

然后您可以在push()pop() 方法中使用T

关于java - 类型不匹配 : cannot convert from capture#2-of ? 将 Number 扩展到 T,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43502683/

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