2011-10-20 2 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 사용). 그러나 비 텍스트를 문자열로 유지하는 것은 잘못된 것입니다.