とIコードをオーバーロードこの方法を試し、私はエラーを得たフロートで示す「互換性のない型エラー」オーバーロードが、方法ではない
追加するため見つかりませ適切な方法ありません(二重、二重)
コード:書面で
class Adder {
static float add(float a, float b) {
return a + b;
}
static int add(int a, int b) {
return a + b;
}
}
class TestOverloading1 {
public static void main(String[] args){
System.out.println(Adder.add(11.5, 11.5));
System.out.println(Adder.add(27, 21));
}
}
、のparamsで 11.5f 、これはうまく動作します。
Javaでは、デフォルトでパラメータが2倍のデータ型になっているのはなぜですか?そのようなバイアスの背後にある倍精度の精度は高いですか?
私は、デフォルトでは2倍になると認識しています。しかし、私はこれの背後にある理由は何かを知りたいですか?
Adder.add(11.5,11.5)
をやっ
を参照してください。なぜなら11.5はダブルですからです。次のように試すこともできます:new Float(11.5) – Stultuske
@Stultuske 'new Float(11.5)'を使うことを提案するのは悪いアドバイスです。なぜ新しいラッパーオブジェクトを導入するのですか? –
実際にアドバイスされたものではなく、浮動小数点が動作するかどうかをテストするより目に見える方法です – Stultuske