Ошибка типа в Java 7 - PullRequest
       18

Ошибка типа в Java 7

2 голосов
/ 30 января 2012

У меня есть класс диалогового окна, расширяющий JDialog.Один из методов в этом классе:

public char getType()
{
return ((String)fileTypeCombo.getSelectedItem()).charAt(0);
}

, где fileTypeCombo:

JComboBox fileTypeCombo = new JComboBox(
            new String[] { "Local", "Shared", "Remote" } );

При попытке компиляции с использованием Java 7 я получаю следующую ошибку:

[javac] /home/satin/decodes-8.0/lrgs/gui/NetlistDialog.java:112: error: getType() in NetlistDialog cannot override getType() in Window
[javac]     public char getType()
[javac]                 ^
[javac]   return type char is not compatible with Type

Прекрасно компилируется с Java 6.

С уважением.

1 Ответ

3 голосов
/ 30 января 2012

Это из-за метода, добавленного к классу Window в Java 7.

Суперкласс Window имеет public Window.Type getType() для сигнатуры метода в Java 7.Вы пытаетесь переопределить этот метод, но возвращаете char вместо Window.Type объекта, поэтому происходит ошибка компиляции.

В Java 6 этот метод не существует , поэтому вы не получите никаких ошибок.

...