Имя класса Java искажается в SWT/JFace TableViewer

Я разрабатываю приложение RCP, содержащее файл TableViewer. Это моя первая попытка приложения RCP, так что извините, если это глупый вопрос. У меня возникли проблемы с методом inputChanged поставщика контента. Входными объектами в таблице являются Strings. Вот метод, который я использовал до сих пор (Scenario — это класс в моем приложении с методом displayData):

public void inputChanged(Viewer v, Object oldInput, Object newInput) {
    if (newInput != null) {
        String s = (String)newInput;
        Scenario.displayData(s);
    }
}

Когда я запускаю его, я получаю следующее исключение:

java.lang.ClassCastException: [Ljava.lang.String; нельзя привести к java.lang.String

Как имя класса было искажено? Я попытался распечатать имя класса, используя newInput.getClass().getName(), и все равно получил искаженную версию.


person Leonide    schedule 07.05.2012    source источник


Ответы (1)


«[L» означает, что это массив строк.

person Matthew Cline    schedule 07.05.2012
comment
Тогда, видимо, я говорю об этом неправильно. Я пытаюсь получить только строку, связанную с выделенным входным значением, но, по-видимому, он получает весь список и только при запуске, а не при нажатии на значение. Спасибо, что прояснили это. - person Leonide; 08.05.2012