0

を含む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()が、文字化けしたバージョンが表示されました。

4

1 に答える 1

2

「[L」は、文字列の配列であることを意味します。

于 2012-05-07T21:00:37.700 に答える