Поскольку Java 7 JComboBox
является универсальным типом , это означает, что при объявлении переменной этого типа вы должны выполнить вызов универсального типа , предоставив аргумент типа , который представляет «тип элементов этого поля со списком» [из API] .
В вашем случае это означает:
JComboBox<String> someComboBox = new JComboBox<>(season);
Интересно, что Учебное пособие по Java на JComboBox , по-видимому, не было обновлено до общей версии JComboBox
.
Если по той или иной причине вы хотите использовать JComboBox
без вызова универсального типа, это все еще возможно, потому что Java поддерживает использование необработанных типов .
необработанным типом является имя универсального классаили интерфейс без каких-либо аргументов типа.
Таким образом, вы можете использовать тип JComboBox
raw как:
JComboBox someComboBox = new JComboBox(season);
Хотя это не рекомендуется, если вы просто хотите поэкспериментировать или следовать учебному пособию, тогда оно должноничего страшного.
Если вы обнаружите, что предупреждения компилятора отвлекают, вы можете избавиться от них, соответствующим образом установив свойства ошибки / предупреждения компилятора в вашей IDE.Кроме того, вы можете избавиться от них, используя аннотацию @ SuppressWarnings .Если это поддерживается вашим компилятором, добавление экземпляра аннотации в ваш код должно избавить от предупреждения:
@SuppressWarnings({"rawtypes","unchecked"})
JComboBox box = new JComboBox(season);
См. Также этот пост для получения дополнительной информации о @SuppressWarnings
.