错误:未经检查的调用DefaultComboBoxModel(E [])

Squ*_*zer 7 java compiler-errors jcombobox

当我构建/运行我的applet时,从NetBeans Applet表单中获取了2个错误:

warning: [unchecked] unchecked call to DefaultComboBoxModel(E[]) as a member of the raw type DefaultComboBoxModel
        levelBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7" }));
  where E is a type-variable:
    E extends Object declared in class DefaultComboBoxModel
warning: [unchecked] unchecked call to setModel(ComboBoxModel<E>) as a member of the raw type JComboBox
        levelBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7" }));
  where E is a type-variable:
    E extends Object declared in class JComboBox
2 warnings
Run Code Online (Sandbox Code Playgroud)

如果我点击下拉列表,我会在旁边看到一个感叹号.这是为什么?

此外,这是使用"-Xlint:unchecked"选项.

Ash*_*Jha 12

new javax.swing.DefaultComboBoxModel(new String[]
Run Code Online (Sandbox Code Playgroud)

应该被替换

new javax.swing.DefaultComboBoxModel<String>(new String[]
Run Code Online (Sandbox Code Playgroud)

此警告也可以忽略.

  • 看来你还需要为JComboBox使用type参数.因此,在创建levelBox的位置,您需要将其类型用作JComboBox <String>.您可能想要阅读Java教程中的泛型. (2认同)