无法理解以下错误:"(Ljava/lang/Integer;)V"不适用于此对象



当我从DB2获得结果并试图设置为该属性noOfLocations时,我会得到以下错误。

Method "setNoOfLocations" with signature "(Ljava/lang/Integer;)V" is not applicable on this object

以下代码显示了问题。

我正在使用rs来设置值。

packDO.setNoOfLocations(rs.getInt("NO_LOC_PKG"));

rs.getInt("NO_LOC_PKG") is returning 0

NO_LOC_PKG is of datatype Integer in the DB

具有setter方法的noOfLocations类型为,

private Integer noOfLocations;
public void setNoOfLocations(Integer noOfLocations) {
        this.noOfLocations = noOfLocations;
    }

您发布的错误消息表明这是一个与构建相关的问题,因为编译器和运行时错误通常不会通过签名来描述方法。

请确保生成是最新的,并且调试器可用的源与正在运行的二进制文件的源匹配。

根据您的构建系统,问题可能由以前的部分构建、文件上的意外时间戳、复制/移动文件、崩溃的IDE、古怪的构建系统等引起。

Java 1.5. 中引入了自动装箱和拆箱

 int getInt(int columnIndex)
           throws SQLException  

返回CCD_ 4。

因此,如果您使用<1.5版本的java会遇到这个问题。

否则,请提及您的真实性。

我刚刚遇到过这个问题,正如其他海报所描述的,它指的是在运行时找不到的类。对我来说,原因是:

在Eclipse中,我有一个在Tomcat上运行的web应用程序。web应用程序引用了一个单独的jar文件,该文件也在Eclipse中维护。在Eclipse中,一切都很好,因为jar文件位于类路径上。然而,当我尝试使用依赖于jar文件的web应用程序时,我收到了这个错误。Tomcat找不到jar文件库。修复:将相关jar添加到Tomcat的构建路径中。

添加到ᴜʀᴇsʜᴀᴛᴛᴀ说,我想你需要的是

packDO.setNoOfLocations( new Integer( rs.getInt("NO_LOC_PKG") ));

getInt()返回int,而setNoOfLocations()想要java.lang.Integer

顺便说一句,它与DB2无关。

相关内容

  • 没有找到相关文章

最新更新