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

-2
Jack 24 Апр 2020 в 15:27

2 ответа

Лучший ответ

Прочитайте и поймите предупреждение.

Признайте, что JVM не может защитить вас от плохой роли, и возьмите на себя ответственность за знание того, что вы делаете.

Затем подавьте предупреждение:

public void valueChanged(ListSelectionEvent e) {
    @SuppressWarnings("unchecked")
    JList<Configuration> list = (JList<Configuration>) e.getSource();
    ...
1
Andreas 24 Апр 2020 в 12:38

Вы можете либо @supressWarnings("unchecked"), как говорит ответ Андреаса, либо вы можете проверить это. В вашем случае, вероятно, подавление звука лучше. Однако в других случаях может быть лучше проверить тип:

public void valueChanged(ListSelectionEvent e) {
    JList<?> list = (JList<?>) e.getSource();
    Object selectedValue = list.getSelectedValue();
    if (selectedValue instanceof Configuration)
    {
        Configuration configuration = (Configuration) selectedValue;
        tiles = new Tiles(c);
    }
}
0
George Z. 24 Апр 2020 в 12:42