gpt4 book ai didi

java - 作为变量的通用参数 - Java

转载 作者:行者123 更新时间:2023-12-01 17:35:11 25 4
gpt4 key购买 nike

构造函数NotePanel(itemClass)引用缺失的类型itemClass我有一个类NotePanel<T extends AbstractNoteItem> extends JPanel ,以及一个单独的类中返回 NotePanel 的方法应在方法期间创建:

public class NoteList extends JList {
...
public class NoteListModel extends AbstractListModel {
...
public NotePanel getPanelFromIndex(int index) {
if (!indexExists(index)) {
// FYI, indexExists(int) works fine
return null;
} else {
AbstractNoteItem item = getElementAt(index);
// FYI, getElementAt(int) works fine
assert (item != null);
Class<?> itemClass = item.getClass();
return (new NotePanel<itemClass> (item));
}
}
}
}

返回新 NotePanel 的行上有错误:“构造函数 NotePanel(itemClass) 引用缺失的类型 itemClass。”有人能告诉我如何实现这个功能吗?

如果这还不够,我很乐意提供更多。我所有的进口都按顺序进行(谢谢组织进口!)。我没有看到任何明显的问题,但我也是使用泛型的新手。

提前致谢!

最佳答案

您尝试执行的操作无法正常工作,因为泛型类型参数仅存在于编译时;由于类型删除,它们在运行时没有任何影响。因此,使用 Class<?> 是没有意义的。在运行时作为泛型类型参数获得。

如果不知道你为什么想要NotePanel,就很难提出合适的替代方案。首先要通用。

关于java - 作为变量的通用参数 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com