可调用语句双方法错误

时间:2011-05-19 20:50:57

标签: java double callable-statement

我可以使用可调用语句

将值设置为double
this.setValue(new Double(cstmt.getDouble(4)));

但是当我尝试像这样写回来时

cstmt.setDouble(4, this.getValue());

我收到错误..

compile:
     [exec] com\jack\common\javabean\ExampleBean.java:262: cannot resolve symbol
     [exec] symbol  : method setDouble (int,java.lang.Double)
     [exec] location: interface java.sql.CallableStatement
     [exec]                     cstmt.setDouble(7,this.getValue());
     [exec]                              ^

任何建议可以用这个

做什么

2 个答案:

答案 0 :(得分:4)

假设this.getValue()返回Double,您似乎需要使用this.getValue().doubleValue()来匹配方法签名。它需要double原语,而不是Double对象。

我猜您使用的是Java 1.4或更早版本。在1.5中,这个错误应该被自动装箱隐藏。

答案 1 :(得分:0)

显然,cstmt是一个实例的类,没有(可见)成员函数,名为setDouble(int,java.lang.Double)。 它是否应该是setDouble(int,double)并且您传递的是java.lang.Double的实例,并且例程需要一个double类型的原语?