Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

privateな配列型の属性に値を設定してテストを行いたい

privateな配列型の属性に値を設定してテストを行いた
いのですが上手くいきません

class Sample {
private String[] strList = null;

以下略

}
このSampleクラスのstrListなるString型の配列をテスト
の際に設定したいのですが上手くいきません

ここで例えば上記の配列に"aaa"と "bbb"なる文字列を
設定してテストを行うとします

    public void test() throws Exception {
        Field field = 
step6.class.getDeclaredField("strList");
        field.setAccessible(true);
        field.set(s, new Object[]{"aaa", "bbb"});

以下略
}

このように書くと
field.set(s, new Object[]{"aaa", "bbb"})部分で
java.lang.IllegalArgumentExceptionが発生します

どのように設定すればよいのでしょうか?
宜しくお願いします。

3

回答

3643

閲覧

3件の回答

評価

0

追記します

field.set(s, new Object[]{"aaa", "bbb"});

s
はSampleクラスのインスタンスです

評価

0

すいません
解決しました
field.set(s, new Object[]{"aaa", "bbb"});
のObjectの部分をStringにしなければいけなかったようで

評価

0

配列も、一つのクラスなんだよ。
Object[]とString[]は、別のクラスだ。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。