0

呼び出し可能なステートメントを使用して、このように値を2倍に設定することができました

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]                              ^

これで何ができるかについての提案

4

2 に答える 2

4

this.getValue()を返すと仮定すると、メソッドのシグネチャを照合するDoubleためにを使用する必要があるようです。オブジェクトではなく、プリミティブthis.getValue().doubleValue()を取ります。doubleDouble

Java1.4以前を使用していると思います。1.5では、このエラーはオートボクシングによって隠されていたはずです。

于 2011-05-19T20:56:33.700 に答える
0

どうやらcstmtがインスタンスであるクラスには、setDouble(int、java.lang.Double)と呼ばれる(可視の)メンバー関数がありません。setDouble(int、double)であり、java.lang.Doubleのインスタンスを渡していて、ルーチンがdouble型のプリミティブを予期している可能性はありますか?

于 2011-05-19T20:55:55.820 に答える