`
nishijia
  • 浏览: 53699 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

反射 调用 抛出 argument type mismatch错误 的怪异事情

    博客分类:
  • JAVA
阅读更多

 

   想用反射从数据库里查询出数据,并把他们用set方法设进对象中,在调用set的方法,会抛出java.lang.IllegalArgumentException: argument type mismatch错误,出错代码如下:

 

sName=fields2[i].getName();
Method m=ci.getDeclaredMethod("set"+sName.substring(0, 1).toUpperCase()+sName.substring(1), new Class[] {fields2[i].getType()});
m.invoke(o,new Object[] {rs2.getObject(column)});

 

    sName是我一个类中的field的值的名字,然后把这个名字第一个字母大写,后面的小写,然后在前面加上set,得到这么个方法.我是使用setId这个方法出错的,查了api还以为类型包装不对,用的是mysql,在数据表中设置col_id为int,在类中设置为private int id ,结果还是抱错。百思不得其解.

无意中在类中把id的名字改为bookid,在数据表中col_id改名为col_bookid,竟然通过了。

 

把名字改为其他2个字母的,不是Id,也行,就是setId这个方法 通不过.其他名字的方法都可以,太诡异了,难道是method.invoke的一个bug?

分享到:
评论

相关推荐

    Cannot invoke setId on bean class 'class ' - argument type mismatch - had object

    标题 "Cannot invoke setId on bean class 'class ' - argument type mismatch - had object" 描述的是一个在使用Spring框架或者类似的依赖注入容器时常见的错误。这个错误通常发生在尝试通过容器设置一个对象属性,...

    Grails入门指南 中文版

    Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate和其它标准Java框架之上,从而为大家带来一套能实现超高生产力的一站式框架。 本书作者 Jason Rudolph 译者 陈俊 林...

    解决yolov3_object_tracking中loop of ufunc does not support argument 0 of type Tensor which has问题

    TypeError: loop of ufunc does not support argument 0 of type Tensor which has no callable arctan method 报错行 self.u = np.round(np.dot(self.F, self.u)) #或者 self.u = np.round(self.u + np.dot(K, ...

    java throw抛出异常实例二

    `throw`关键字在Java中被用来显式地抛出一个异常。当我们遇到一个预期之外的情况,或者某些条件不满足时,可以使用`throw`来中断当前的执行流程,并将控制权转移到能够处理这种情况的代码块。下面我们将详细讨论`...

    Argument分类--按错误类型

    在探讨GRE考试中的Argument部分时,我们关注的焦点在于识别并分析论证中的逻辑错误和漏洞。根据给定的文件信息,我们可以将Argument的错误类型大致分为以下几类:基于当前或过去条件推断未来状况、解决方案的充分性...

    C#反射简单入门实例

    本篇将深入浅出地介绍C#反射的基本概念,以及如何通过反射来创建对象、访问成员和执行方法。 1. 反射的概念 反射是一种在运行时分析类型的能力,它使我们能够动态地获取类型信息,并基于这些信息创建对象、调用方法...

    ERR_INVALID_ARGUMENT(解决方案).md

    ERR_INVALID_ARGUMENT错误是程序运行时常见的一个问题,它表示提供的参数或变量在格式或者类型上不满足预期要求。在面对这类问题时,首先需要确认错误发生的具体上下文,包括涉及的编程语言、使用的库或框架、以及...

    Android自定义抛出异常的方法详解

    本文将详细介绍如何在Android中自定义抛出异常,并探讨其背后的机制和优势。 首先,我们要理解`throw`和`throws`在Java(包括Android)中的区别。`throw`关键字用于在代码中主动抛出一个具体的异常实例,例如: ``...

    ERR-INVALID-ARGUMENT(解决方案).md

    此外,在函数体内部,使用了断言来确保传递的参数是整数类型,如果不是整数,则抛出`ERR_INVALID_ARGUMENT`错误。最后,通过`try...except`结构捕获了可能发生的类型错误或值错误,并输出了相应的错误信息。 在实际...

    OpenCV 报错“Unknown array type in function cvarrToMat” 并崩溃

    cvPutText() 函数内部调用 cvarrToMat() 函数时无法判断数据类型而主动抛出了异常。 2. 单步进入 cv::imdecode() 函数发现,该函数解析传入的图片数据时,需要调用 libpng 的 png_create_read_struct() 函数,而该...

    invalid_argument_error解决办法.md

    在编程过程中,"invalid_argument_error"是一种常见的错误,它通常发生在我们向函数或方法传递了不合法的参数时。解决这种错误的方法多种多样,关键在于根据具体的情况和代码环境找到最适合的解决方法。以下是一些...

    Error Encountered an improper argument

    "Error Encountered an improper argument" 是一个典型的错误提示,通常出现在尝试执行一个命令或操作时,系统认为提供的参数不符合预期或者不合法。这个错误可能出现在各种上下文中,但在这里我们将主要讨论与Keil ...

    问题完美解决 keil官网方法encounter an inmproper argument

    标题中的“问题完美解决 keil官网方法encounter an inmproper argument”指的是在使用MDK5(Microcontroller Development Kit)时遇到的一个特定错误:“encounter an improper argument”。这个错误通常出现在用户...

    C#调用web service

    【C#调用Web Service】在.NET框架下,C#调用Web Service是一项常见的任务,尤其是在构建分布式系统或跨平台应用程序时。Web Service提供了一种标准的、平台无关的方式来交换数据和服务。本篇将详细介绍如何在C#中...

    网页采用命令行方式调用exe

    网页采用命令行方式调用EXE是一种常见的技术实践,它允许网页应用与本地系统进行交互,执行特定的任务或调用特定的功能。这种技术通常涉及到JavaScript(JS)在浏览器环境中通过ActiveXObject或者Node.js的child_...

    c++ std::invalid_argument应用

    在C++编程中,`std::invalid_argument` 是一个异常类,用于表示当函数或方法接收到不合法或无效的参数时抛出的错误。这个类是`std::logic_error` 的子类,而`std::logic_error` 又是`std::exception` 的子类。`std::...

    qt 调用外部可执行程序

    在Qt开发过程中,有时我们需要在用户界面上设置一个按钮,当用户点击该按钮时,能够调用系统中的外部可执行程序。这样的功能可以应用于很多场景,例如打开特定的应用程序、运行脚本或执行命令行操作。本文将详细介绍...

    C语言编译错误信息锦集

    当编译器检测到调用了一个标记为内联但实际并未如此声明的函数时,就会抛出此错误。 #### Irreducible expression tree (不可简化表达式树) 这个错误发生在复杂的表达式结构过于复杂以至于编译器无法处理的情况下...

Global site tag (gtag.js) - Google Analytics