2011-10-20 82 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或)来实现。但请注意,将非文本保留为字符串是错误的。