5
함수에서 전달되는 제네릭 유형에만 일치하는 방법이 있습니까? 내가 할 싶습니다스칼라 제네릭 유형과 일치하는 방법은 무엇입니까?
def getValue[T](cursor: Cursor, columnName: String): T = {
val index = cursor.getColumnIndex(columnName)
T match {
case String => cursor.getString(index)
case Int => cursor.getInteger(index)
}
나는 classOf
또는 typeOf
같은 생각하지만, 그들 중 누구도 단지 유형,하지만 개체에 대한 허용하지 않습니다.
제 생각에는 유형 T
의 개체를 만든 다음 형식을 확인하는 것이 더 나은 해결책이라고 생각합니다.
1. 그러나 오, 나는 스칼라에서 구체화 된 제네릭을 좋아할 것입니다. :) –
@ Patryküwiek : 일부 추가 필드에 형식 정보를 저장할 수도 있지만 Java 호환성을 깨뜨릴 수 있습니다. java의 유형에서 유형 삭제를 피할 방법이 없습니다. – senia
알아, 알아. 단지 희망찬 생각. 어쩌면 나는 C#/F #에 조금 부끄럽다. –