java - 来自编译器的未经检查的强制转换警告
问题描述
我正在尝试创建一个游戏。它几乎准备好了,但是当我尝试编译它时,我得到了未经检查的强制转换警告。这是我的代码的开头:
public class GUI extends JFrame implements ListSelectionListener {
private Tiles tiles;
private ConfigurationStore st;
public GUI(ConfigurationStore cs) {
super("My Game");
st = cs;
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(1000,700);
add(ConfigurationsPanel(), BorderLayout.WEST);
}
这是我的配置面板():
private JPanel ConfigurationsPanel() {
JPanel conf = new JPanel(new BorderLayout());
addBorder(conf, "Configurations");
ArrayList<Configuration> configurations = new ArrayList<>();
configurations = store.getConfigurations();
Configuration[] configurationsArray = new Configuration[configurations.size()];
for(int i = 0; i < configurations.size(); i++) {
configurationsArray[i] = configurations.get(i);
}
JList<Configuration> list = new JList<Configuration>(configurationsArray);
list.addListSelectionListener(this);
JScrollPane scrollPane = new JScrollPane(list);
conf.add(scrollPane);
return conf;
}
这是我的 valueChanged 方法:
public void valueChanged(ListSelectionEvent e) {
JList<Configuration> list = (JList<Configuration>) e.getSource();
Configuration configuration = list.getSelectedValue();
tiles = new Tiles(c);
}
编译器在我写的 valueChanged 方法中给出警告 JList<Configuration> list = (JList<Configuration>) e.getSource();
:required: JList<Configuration> found: Object
. 你能告诉我我的代码的哪一部分不正确以及如何删除该警告。提前致谢。
解决方案
阅读并理解警告。
承认 JVM 无法保护您免受不良强制转换,并负责了解您在做什么。
然后抑制警告:
public void valueChanged(ListSelectionEvent e) {
@SuppressWarnings("unchecked")
JList<Configuration> list = (JList<Configuration>) e.getSource();
...
推荐阅读
- node.js - 更改 WSL 远程的路径
- java - 在Java中将时间戳分组为给定长度的间隔的最佳方法是什么?
- java - 无法解析项目 X 的依赖项 找不到工件
- javascript - 当一段时间后没有新的控制台日志比重新加载
- openlayers-6 - 如何访问光栅源的所有像素
- c# - c# CefSharp“不支持密钥“target-densitydpi”。”,来源
- java - 可能重复:尝试在空对象引用上调用虚拟方法 'void android.widget.TextView.setText(java.lang.CharSequence)'
- python - 打开新窗口后如何销毁窗口?
- python-3.x - 从 AWS 自托管的 MongoDB 更改为 Atlas 导致 pymongo.errors.ServerSelectionTimeoutError:
- python - 从 Mitsuba2 (Python) 获取场景的光谱辐射度