-1

実行時にメソッドを呼び出すためにJavaリフレクションを使用しています。日付オブジェクトをオブジェクト配列にキャストするにはどうすればよいですか?

つまり、

Method m = ....;
Object[] result = (Object[]) m.invoke(...);

public Date getDate() {
   return new Date();
}

与えます:

java.lang.ClassCastException: java.util.Date cannot be cast to [Ljava.lang.Object;

編集:ええ、代わりにオブジェクト配列に追加して返す必要があります。

4

1 に答える 1

1

invoke は varargs メソッドであるため、必要はありません。できるよ。

 Object result = method.invoke (instance , new Date ());

配列を作成する必要はありません。

それが変更したい結果である場合は、それをラップできますが、これを行う必要はないと思います。本当に配列が必要かどうかを確認します

于 2012-12-14T21:21:40.747 に答える