2016-05-09 9 views
-1

対ロング、私は整数、ロングとBigIntegerの実装を持っていると私は私の値の範囲に応じて必要な種類のプラグ番号インタフェースを使用して、抽象精度離れてすることができます。私はBigIntegerがより多くのメモリと少ないパフォーマンスを必要とするため、普遍的なものではないことを理解しています。数字は何ですか?私が理解したようなBigInteger

+1

なぜあなたは '異なる目的のために使用されているdouble' BigDecimal'と'言うのですか?そして、あなたは何を対比しようとしていますか? – shmosel

+0

'BigInteger'は、実際には' double'と比較して最も優れています。しかし、率直に言って、どんな種類の「数字」があなたのプラットフォームによって大きく変わるでしょうか。あなたが使用するべきデータ型についてのほとんどの決定は、あなたが格納している番号の種類に依存し、パフォーマンスの必要性は決まっていません。 –

+3

そして、率直に言って、 'Number'で生成するのは無駄です。一般的な 'Number'を使ってできる操作はほとんどありません。 –

答えて

1

のBigDecimalは、それが精度を維持することができますダブルと同様のものであり、表示の目的のために有用です。必要なときだけ、それを使用し、それ以外の場合はダブルは、多くの考慮事項(メモリ、パフォーマンス)のためのより良いです。

お金値を格納するときには、インスタンスのために便利です:あなたは、表現を維持したい、だけでなく、数ラウンドの合計(追加)をやって右とき。

+0

申し訳ありませんが、私はあなたがベンチマークをしたいので、私の質問 –

+0

よしを修正しました。私はこれらを持っていないが、あなたの基準がパフォーマンスのベンチマークではなく、あなたの設計上の選択であるべきだとルイスはコメントしています。私はNumberがあなたにとって非常に有用であるか分からない。要約を短くしたい場合は、アプリケーションがこれらの優れた操作をすべて値に実行していない場合に、BigDecimalを実行してCPUとメモリを最大限に活用することはできません。 –