我有双 LinkedList
( DLL
)我想将其分成两部分 DLL
s,一个只有奇数,另一个只有偶数。但是当我尝试 ((Generic)%2==0)
时出现错误
错误消息:方法 parseInt(E)
类型 DLL<E>
未定义
public DLL parni() {
DLL<E>niza = new DLL<E>();
DLLNode<E>tmp = first;
while(tmp.succ != null) {
if((parseInt(tmp.element)) % 2 != 0) {
niza.insertLast(tmp.element);
delete(tmp);
}
tmp = tmp.succ;
}
}
tmp.element 是 E 类型的泛型
顺便说一句,我尝试在 DLL
中添加父类(super class) Number类(class)
class DLL<E extends Number>
有什么建议吗?
最佳答案
简单:你编写了自己的类 DLL<E extends Number>
。
现在您编写了打算调用方法 parseInt()
的代码属于您自己的类 DLL。
编译器告诉你:
The method parseInt(E) is undefined for the type DLL
你还没有编写那个方法。
换句话说:如果您打算在您自己的类上使用该名称的方法,那么您必须将这样的方法添加到您的类中。到目前为止,E
通用参数没有任何意义。与您打算在对象上调用的任何其他方法一样,该方法必须存在于相应的类中。
除此之外:不要使用“DLL”之类的名称。不要缩写类名。它们的名字与人类读者进行交流,而 DLL 则不进行任何交流。例如,将其称为 DualLinkedList。
关于java - 如何在Java中找到Integer(Generic)的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53374134/