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

标签 java generics linked-list

我有双 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/

相关文章:

TypeScript 语句右侧的泛型参数是什么

java - 将 List<Object> 转换为列表字符串

java - 适用于 Android 的 Spring - 无法提取响应 : no suitable HttpMessageConverter found for response type

Java : inherits a generic type

c# - 如何将数组转换或复制到链表?

java - 列表和链表

java - 链表节点跳过循环并移至下一个参数

java - JRE系统库在Eclipse中总是未绑定(bind)? (: "Launching Main".模型不适用于helloWorld期间发生内部错误)

java - 无法打开 JPA EntityManager 进行事务;嵌套异常是 java.lang.NoSuchMethodError - Spring-Starter-JPA

c# - Roslyn - 查找对具有调用详细信息的方法的所有引用(具体的通用参数)