2016-10-07 7 views
0

私は2つの数値を浮動小数点数または2倍整数にする方法、それらをJavaで追加する方法、Numberオブジェクトは互いに追加できません。Javaの正確な型を知らずに2つの数値を追加する

私はタイプ(クラス)をテストして1つずつ変換できますが、それは醜いです(それ以外はたくさんあります)。

答えて

2

あなたは(Number.doubleValueを呼び出す)と追加することができます。

Number n1 = new Double(10.3d); 
Number n2 = new Integer(12); 
System.out.println(n1.doubleValue() + n2.doubleValue()); 
0

を精度損失が許容可能であるならば、あなたは彼らの二重(またはさえをBigDecimal)の値を追加することができます。

double result = a.doubleValue() + b.doubleValue(); 

そうでない場合は、あなたをすべてのケースが実装されます(これは、Numberが抽象クラスであるため、共通タイプに対してのみ行うことができます)。

正直言って、これは悪い概念の兆候である可能性が非常に高いです。

関連する問題