Java 组合框的不安全操作
Java Unsafe Operations with Combo Boxes
我知道以前有人问过这个问题,但我找不到组合框问题的解决方案。我有以下代码:
...
JComboBox startingCombo = new JComboBox();
startingCombo.setModel(new DefaultComboBoxModel(new String[] {"USD", "EUR", "GBP"}));
...
当从命令行 运行 时出现错误:
注意:ConverterFrame.java 使用未经检查或不安全的操作。
注意:使用 -Xlint:unchecked 重新编译以获取详细信息。
当我使用 -Xlink:Unchecked 重新编译时,我收到以下几个错误:
ConverterFrame.java:88: 警告:[未检查] 未检查调用 DefaultComboBoxModel(E[]) 作为原始类型 DefaultComboBoxModel
的成员
此行然后指向所提供代码第二行的 "new"。我知道我需要添加一个对象类型,但我不确定添加到哪里以及如何添加。
使用它来避免警告消息
JComboBox<String> startingCombo = new JComboBox<>();
JComboBox
和 DefaultComboBoxModel
都有一个通用类型参数来表示它们的项目类型。您想要 String 项,因此写
JComboBox<String> startingCombo = new JComboBox<>();
startingCombo.setModel(new DefaultComboBoxModel<String>(new String[] {"USD", "EUR", "GBP"}));
我知道以前有人问过这个问题,但我找不到组合框问题的解决方案。我有以下代码:
...
JComboBox startingCombo = new JComboBox();
startingCombo.setModel(new DefaultComboBoxModel(new String[] {"USD", "EUR", "GBP"}));
...
当从命令行 运行 时出现错误:
注意:ConverterFrame.java 使用未经检查或不安全的操作。 注意:使用 -Xlint:unchecked 重新编译以获取详细信息。
当我使用 -Xlink:Unchecked 重新编译时,我收到以下几个错误:
ConverterFrame.java:88: 警告:[未检查] 未检查调用 DefaultComboBoxModel(E[]) 作为原始类型 DefaultComboBoxModel
的成员此行然后指向所提供代码第二行的 "new"。我知道我需要添加一个对象类型,但我不确定添加到哪里以及如何添加。
使用它来避免警告消息
JComboBox<String> startingCombo = new JComboBox<>();
JComboBox
和 DefaultComboBoxModel
都有一个通用类型参数来表示它们的项目类型。您想要 String 项,因此写
JComboBox<String> startingCombo = new JComboBox<>();
startingCombo.setModel(new DefaultComboBoxModel<String>(new String[] {"USD", "EUR", "GBP"}));