2011-10-20 80 views
0

我有一個類Calculation其中包含一組CalculationResult變量數據類型

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或)來實現。但請注意,將非文本保留爲字符串是錯誤的。