Небезопасные операции Java с полями со списком

Я знаю, что этот вопрос задавался раньше, но я не могу найти решение проблемы со списком. У меня такой код:

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

Я получаю сообщение об ошибке при запуске из командной строки:

Примечание. ConverterFrame.java использует неотмеченные или небезопасные операции. Примечание. Перекомпилируйте с помощью -Xlint: не отмечен для подробностей.

Когда я перекомпилирую с -Xlink: Unchecked, я получаю несколько из следующих ошибок:

ConverterFrame.java:88: предупреждение: [unchecked] снятый вызов DefaultComboBoxModel (E []) как член необработанного типа DefaultComboBoxModel

Затем эта строка указывает на «новый» во второй строке предоставленного кода. Я понимаю, что мне нужно добавить тип объекта, но я не уверен, где и как его добавить.


person Jonathon M    schedule 01.04.2016    source источник


Ответы (2)


И JComboBox, и DefaultComboBoxModel имеют параметр универсального типа для типа своих элементов. Вам нужны строковые элементы, поэтому пишите

JComboBox<String> startingCombo = new JComboBox<>();
startingCombo.setModel(new DefaultComboBoxModel<String>(new String[] {"USD", "EUR", "GBP"}));   
person wero    schedule 01.04.2016
comment
Спасибо, это сработало отлично! - person Jonathon M; 01.04.2016

Используйте это, чтобы избежать предупреждающего сообщения

JComboBox<String> startingCombo = new JComboBox<>();
person mystery    schedule 01.04.2016