エラー: MyExchangeClass 型のメソッド exchangeConversion(String, String, float) は、引数 (String, String, double) には適用できません。
jsp ファイルのコード、15.4 および 15.4f でもエラーが発生しますが、double の関数と TLD を変更するとすべて正常に動作します。15.4 と 15.4f を double のように取るのはなぜですか?
...
From GBP to USD: ${ elfuncs:exchange("GBP", "USD", 15.4f) }
Otherwise: ${ elfuncs:exchange("GBP", "YEN", 15.4) }
TLD のコード
<function>
<name>exchange</name>
<function-class>mypackage.MyExchangeClass</function-class>
<function-signature>float exchangeConversion(java.lang.String, java.lang.String, float)</function-signature>
</function>
Java クラスのコード public class MyExchangeClass {
public static float exchangeConversion(String from, String to, float amount) {
float calculatedAmount = 0.0f;
/* Example implementation code: */
if(from.equals("GBP") && to.equals("USD")) {
calculatedAmount = amount*1.5f;
}
return calculatedAmount;
}
}