데이터가 서비스에서 이름 -> 값 쌍으로 나오고 모든 name-> value 유형이 문자열 인 경우에는 이상한 요구 사항이 있습니다 (실제로는 데이터가 저장되는 방식입니다)스칼라에서 타입 변환을 피하십시오
이것은 단순화 된 예입니다.
case class EntityObject(type:String,value:String)
EntityObject("boolean","true")
지금 나는 확실히 값을해야 EntityObject 유형은 "부울"경우 때문에 처음 밖으로 입력하고 해당 유형에 가치 캐스트 값을 확인할 수 아무것도하지만 부울이 아님을 가져올 때. 예를 들어,이 경우 체크 값은 부울이므로 유효성을 검사하려면 문자열 값을 부울 값으로 변환해야합니다. 부울 (boolean) 이외의 다른 것이라면 실패합니다.
예컨대 데이터가 아래와 같이 입력되면 전송이 실패하고이 오류에 대해 호출자에게 다시보고해야합니다.
EntityObject("boolean","1")
이 때문에 이상한 요구 사항에 우아하고 유형 안전 프로그램에 대한 보이지 않는 유효성 검사 코드를 입력 변환을 강제로. 스칼라에서 이것을 처리하는 우아한 방법 (보다 안전한 형식 일 수 있음)?
전송 하시겠습니까? 왜냐하면 캐스팅은'.asInstanceOf [..]'메소드로하는 일이기 때문입니다. 당신이 전환에 대해 말하는 것처럼 보입니다. –