kaka :
ルールは、2つの値が異なるデータ型を持っている場合、Javaは自動的に2つのデータ型の大きなへの値のいずれかを促進することを言いますか?
以下のコードでは、yに割り当てられた値は、xの値よりも大きくなっています。したがって、考慮にルールを取って、印刷された値が「フロート」でなければなりませんが、代わりにそれは「ダブルを印刷。それがフロートの代わりにダブルを印刷し、なぜあなたはしていただけますか?
Double x = 3.21;
Float y = 4.1f;
Object o = (x*y);
System.out.println( o.getClass().getSimpleName() ); // prints out Double
Darkwyng:
「大きな」より多くの情報を保持できるデータ型に(一言で言えば)「>」値を参照するのではなく、例えばダブルフロートよりも好ましいとロングのIntよりも好ましいです。
これは、ここで説明されていますhttps://docs.oracle.com/javase/specs/jls/se13/html/jls-5.html#jls-5.6.2