首页 > 解决方案 > Java:在运行时导入

问题描述

我正在尝试为课程中使用的类制作数据结构可视化库。我希望学生将它们导入他们的代码并在他们编辑集合类时使用它们。我知道他们将要使用的课程的名称,但实施可能与学生不同。

public class SLLVisualizer extends JFrame {
public SLLVisualizer(SLL<T> sll) {
}   
}

以上是我正在尝试制作的构造函数。但由于未知的 SLL 类型,它给了我语法错误

标签: javagenericsdata-structuresvisualization

解决方案


问题似乎是 SSL 类不知道您要分配 SSL 的类型。SSL 是一个通用类。试试这个:

public class SSLVisualizer extends jFrame {
    public SSLVisualizer (SSL<String> ssl) {

    }
}

如果您希望能够放入任何数据类型的 SSL,请尝试以下操作:

public class SSLVisualizer extends jFrame {
    public SSLVisualizer (SSL<?> ssl) {

    }
}

问号是通配符,您可以对其进行扩展以限制可以分配给类的数据类型的数量。

您还可以为您的类分配特定的数据类型,如下所示:

public class SSLVisualizer<E> extends jFrame {
    public SSLVisualizer (SSL<E> ssl) {

    }
}

推荐阅读