如何在Java中找到Integer(Generic)模块



我有双重LinkedList(DLL(,我想将其分离为两个DLL,一个只有奇数,另一个有偶数。但我在尝试((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类中添加超级类Number

class DLL<E extends Number>

有什么建议吗?

Simple:您编写了自己的类DLL<E extends Number>

现在,您编写的代码打算调用属于自己的类DLL的方法parseInt()

编译器告诉你:

对于类型DLL ,方法parseInt(E(未定义

您还没有编写该方法。

换句话说:如果您打算在您自己的类上使用该名称的方法,那么您必须将这样的方法添加到您的类中。到目前为止,E通用参数没有任何意义。与您打算对对象调用的任何其他方法一样,该方法必须存在于相应的类中。

除此之外:不要使用诸如"DLL"之类的名称。不要缩写类名。它们的名称与人类读者通信,而DLL什么也不通信。例如,将其称为DualLinkedList。

如果E扩展java.lang.Number,您可以这样尝试:

if(tmp.element.intValue() % 2 != 0)

相关内容

  • 没有找到相关文章

最新更新