Небезопасные операции Java с полями со списком
Я знаю, что этот вопрос уже задавался, но я не могу найти решение проблемы со списком. У меня есть следующий код:
...
JComboBox startingCombo = new JComboBox();
startingCombo.setModel(new DefaultComboBoxModel(new String[] {"USD", "EUR", "GBP"}));
...
Я получаю сообщение об ошибке при запуске из командной строки:
Примечание. ConverterFrame.java использует непроверенные или небезопасные операции. Примечание: Перекомпилируйте с -Xlint: не проверено для деталей.
Когда я перекомпилирую с -Xlink:Unchecked, я получаю несколько следующих ошибок:
ConverterFrame.java:88: warning: [unchecked] непроверенный вызов DefaultComboBoxModel(E[]) как члена необработанного типа DefaultComboBoxModel
Затем эта строка указывает на "новый" во второй строке в предоставленном коде. Я понимаю, что мне нужно добавить тип объекта, но я не уверен, где его добавить и как.
2 ответа
И то и другое JComboBox
а также DefaultComboBoxModel
имеют параметр общего типа для типа своих элементов. Вы хотите элементы String, поэтому пишите
JComboBox<String> startingCombo = new JComboBox<>();
startingCombo.setModel(new DefaultComboBoxModel<String>(new String[] {"USD", "EUR", "GBP"}));
Используйте это, чтобы избежать предупреждения
JComboBox<String> startingCombo = new JComboBox<>();