获取错误:不兼容的类型:int无法转换为t。我想使用链表构建一个队列,可以存储不同数据类型的项。请建议如何将属于不同数据类型的值传递到泛型函数add()中。
public void main(String args[])
{
MyQueue<T> q=new MyQueue<T>();
q.add(10);
q.add("Hello");
}
public void add(T item)
{
QueueNode<T> t=new QueueNode<T>(item);
if(last!=null)
{
last.next=t;
}
last=t;
}
2条答案
按热度按时间50pmv0ei1#
你应该换衣服
T
为了Object
. 这样,您可以放置所需的任何数据类型,然后可以使用foreach,例如:泛型类提供了更大的解决方案。
还要考虑一下
int
是原始数据类型,而不是类。在这种情况下Integer
是使用int
.hfyxw5xn2#
T
是类型的占位符,但不能声明T
从那以后就这样了T
必须是已知类型。你想要这样的东西。在这里T
是传递给的已知类型QueueNode
以及MyQueue
.