Java 组合框的不安全操作

标签 java combobox unsafe operations

我知道这个问题以前曾被问过,但我找不到组合框问题的解决方案。我有以下代码:

...
JComboBox startingCombo = new JComboBox();
startingCombo.setModel(new DefaultComboBoxModel(new String[] {"USD", "EUR", "GBP"}));
...

从命令行运行时出现错误:

注意:ConverterFrame.java 使用未经检查或不安全的操作。 注意:使用 -Xlint 重新编译:未选中详细信息。

当我使用 -Xlink:Unchecked 重新编译时,我收到以下几个错误:

ConverterFrame.java:88:警告:[未选中]未选中对 DefaultComboBoxModel(E[]) 的调用作为原始类型 DefaultComboBoxModel 的成员

该行随后指向所提供代码中第二行的“new”。我知道我需要添加一个对象类型,但我不确定在哪里添加它以及如何添加。

最佳答案

JComboBoxDefaultComboBoxModel 都有一个用于其项目类型的通用类型参数。你想要字符串项目,因此写

JComboBox<String> startingCombo = new JComboBox<>();
startingCombo.setModel(new DefaultComboBoxModel<String>(new String[] {"USD", "EUR", "GBP"}));   

关于Java 组合框的不安全操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36348941/

相关文章:

c# - C#out参数的不安全版本

c# - 宪兵不安全代码检测

java - Tomcat 连接池化多个数据源

java - 优化远程数据库的java应用程序

java - 用于图像处理应用程序的 C++ 和 Java 通信

java - 具有自己的数据模型的 JList

delphi - 如何在 OnChange 事件之前获取 ComboBox ItemIndex?

c# - 如何设置值如果组合框不更改 WPF MVVM 模式中的值

wpf - WPF ComboBox带有可编辑文本框作为一项

c# - 为什么泛型类型不能有明确的布局?