あるクラスからプライベート フィールドを取得し、それらを別のクラスに設定する必要があります。
このコードは、整数フィールドのテストで完全に機能します (100500 値が書き込まれます)。
//get objects, class firs...
for(int i =0; i<fields1.length; i++) {
Field field1 = fields1 [i];
Field field = fields [i];
field.setAccessible(true);
field.set(app, new Integer(100500));
}
それにもかかわらず、未定義の型に切り替えると (フィールドは異なる型です: 日付、整数、文字列...
たとえば、クラス 1 には日付があり、クラス 2 には日付があります。ある値を別の値からコピーする必要がありますが、次のフィールドは両方のクラスで文字列になります)
for(int i =0; i<fields1.length; i++) {
Field field1 = fields1 [i];
Field field = fields [i];
field.setAccessible(true);
field.set(app, field1);
}
IllegalArgumentException を受け取りました。たとえば、あるクラスから値を取得して別のクラスに設定することができません。
親愛なるコミュニティの皆さん、ヒントを教えてください。何が間違っているのでしょうか?