2011-10-20 16 views
0

私はCalculationResultのセットを含むクラスCalculationを持っています。可変データ型

CalculationResultのプロパティはString resultです。だから私は、私は右のデータ型で結果を得ることができるようにそれを作ることを考えていた。これは文字列ですが、値を二重計算された日付、ブール値を表すことができます...

public Date getAsDate(); 
public BigDecimal getAsBigDecimal(); 
... 

しかし、私はこれを最もうまく実装できるかどうかはわかりません。

すべてのポインタが高く評価されています!

+0

これらの値を文字列に変換していますか?もしそうなら、元のタイプのままにしておくのはなぜですか? –

答えて

4

通常、あなたはあなたの計算からどのような結果が期待されるでしょうか。だからpublic class CalculationResult<T>を作ることができます。そこで例えば、使用:あなたは本当に文字列として、あなたの結果を持っている場合

CalculationResult<BigDecimal> result = calculator.getResult(..); 

そうでない場合は、常に、そしてgetAsX方法はInteger.parseInt(str)new BigDecimal(str)new Date(Long.parseLong(str))のようなメソッドを介して実行(またはDateFormatを使用して)することができます。しかし、非テキストを文字列にすることは間違いであることに注意してください。

関連する問題