首页 > 解决方案 > Java 接口错误:类型不是通用的;它不能用参数参数化

问题描述

我创建了一个我想用一个类来实现的通用接口。这是一个基本的堆栈数据结构,您可以在其中添加和删除类型 E 的元素。

package makigas;

public interface ColaProceso<E> {
    
    void encolar(E e);
    
    void eliminar();
    
    E obtener();
}

这是我为实现它而构建的类:

package makigas;

public class MiColaProceso<E> implements ColaProceso<E> {

    private class NodoProceso<T> {

        public T elemento;

        public NodoProceso<T> siguiente;
        
        public NodoProceso(T elemento) {
            this.elemento = elemento;
        }
    }
    
    private NodoProceso<E> cabeza, ultimo;

    public void encolar(E e) {
        NodoProceso<E> nuevoNodo = new NodoProceso<>(e);
        if (cabeza == null) {
            cabeza = nuevoNodo;
            ultimo = nuevoNodo;
        } else {
            ultimo.siguiente = nuevoNodo;
        }
        
    }

    public void eliminar() {
        if(cabeza != null) {
            NodoProceso<E> eliminar = cabeza;
            cabeza = cabeza.siguiente;
            eliminar.siguiente = null;
            if (cabeza == null) {
                ultimo = null;
            }
        }       
    }

    public E obtener() {
        if(cabeza == null) {
            return null;
        } else {
            return cabeza.elemento;
        }
    }
    
}

在程序之上,我收到以下我不明白的错误:

ColaProceso 类型不是通用的;它不能用参数参数化<E>

错误信息

我已将 ColaProceso 定义为泛型。我不明白为什么 IDE 告诉我它不是通用的。我应该改变什么才能让它工作?

标签: javagenericsdata-structures

解决方案


推荐阅读