【发布时间】:2020-07-21 13:39:09
【问题描述】:
我不明白为什么这段代码不起作用,我相信我正确使用了泛型,但方法显然没有定义? node 和linkedlist 类是完全通用的,我正在创建一个共享相同抽象超类PlanarShape 的不同类型(例如半圆)的节点,并尝试将它们添加到该类型的实例化链接列表中。
主类的相关部分
LinkedList<PlanarShape> plygns = new LinkedList<PlanarShape>();
Point p0 = new Point(Double.parseDouble(sc.next()), Double.parseDouble(sc.next()));
Point p1 = new Point(Double.parseDouble(sc.next()), Double.parseDouble(sc.next()));
SemiCircle smc = new SemiCircle(p0, p1);
plygns.prepend(new Node<SemiCircle>(smc));
prepend 得到错误 prepend(Node) is undefined for type Linkedlist
链表方法前置
public void prepend(Node<T> n) //add to head
{
//Empty until error fixed
}
【问题讨论】:
-
你有自己的类型
Linkedlist吗? Java 区分大小写。而且已经有java.util.LinkedList(里面没有这个方法)。 -
所以我不能创建自己的 LinkedList 类而不包括 java 类?
-
您可以,但我们无法判断您在这里使用的是哪一个;或您的版本的大写。这不是一个可重现的例子。
-
LinkedList 是我自己的类,我应该将它重命名为linkedList 还是什么?
-
如果你必须自己写,试试
MyLinkedList;否则,请使用java.util.LinkedList(但这可能不是实际问题)-您应该将您的问题编辑到Minimal, Reproducible Example
标签: java generics inheritance polymorphism