java - 使用 JAVA 反射时出现 NoSuchMethodException

标签 java reflection nosuchmethoderror

您好,我正在尝试使用反射来调用方法并更新该方法的 setter 值。但我在调用该方法时遇到了 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;

最佳答案

我看到的是,您传递了 setAddress1 并将其与 set 连接起来,从而得到 setsetAddress1。要么传递属性名称并将其大写,要么从串联中删除 set

此外,您提供的代码将无法编译。您不能拥有名为 class

的变量

关于java - 使用 JAVA 反射时出现 NoSuchMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772126/

相关文章:

java - 无法识别滑动手势

java - 安卓 : how to create a Object using Reflection and pass constructor parameter?

当对象包含 'init' 时,Java 反射初始化 Kotlin 对象失败

reflection - 反射到底是什么,什么时候是一个好方法?

android - Android 上的 Scala : java. lang.NoSuchMethodError : java. lang.String.isEmpty

java - Java测试失败,因为NoSuchMethodError

本地项目源码包出现java.lang.NoSuchMethodError?

java - 如果我也想传递数据,使用 Otto (或简单的回调设计模式)最好的方法是什么?

java - 使用自己的 fxml 和 Controller 在不同场景之间切换

java - 如何调试 DO_NOTHING_ON_CLOSE 失败?