こんにちは、リフレクションを使用してメソッドを呼び出し、そのメソッドのセッター値を更新しようとしています。しかし、そのメソッドを呼び出しているときに NoSuchMethodException を取得しています。コードを更新しました。以前のコードのエラーについては大変申し訳ありません。コードを屈折させました。クラスの setMethod がプリミティブ型の引数を受け入れると、例外が発生します。
private static Object performMapping( Class voClass, Class[] clazz, Object voObject, Object data,String fieldType ){
voClass.getMethod( "set" + fieldType, clazz ).invoke( voObject, data );
return voObject;
}
private static Object mapField(ResultSet rs){
Class voClass=Class.forName( "com.test.Test" );
Object voObject = voClass.newInstance();
Class[] doubleArrayParamTypes = new Class[ 1 ];
doubleArrayParamTypes[ 0 ] = Double.class;
voObject = performMapping( voClass, doubleArrayParamTypes, voObject, rs.getDouble(fieldType.getColumn()), "Mark" );
}
/* This is my Class. I need to set the Mark. But it is primitive double. Is it possible to set the mark using the above code? */
public class Test{
private double mark;
public double getMark() {
return mark;
}
public void setMark(double mark) {
this.mark = mark;