Небезопасные операции 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<>();
Другие вопросы по тегам