TypeUtilities
TypeUtilities (자바 타입 유틸리티)
자바 타입을 다루기 위한 다양한 정적 유틸리티 메서드 모음입니다. 프리미티브·래퍼 타입 변환과 타입 간 변환 가능성 판단을 돕습니다.
본문
Dynalink가 타입 변환을 판단할 때 필요한 여러 헬퍼를 제공합니다. JLS(Java 언어 명세)의 변환 및 하위 타입 규칙을 기반으로 동작해요.
주요 메서드
isSubtype(Class<?> subType, Class<?> superType)— 한 타입이 다른 타입의 하위 타입인지 결정합니다. JLS 4.10 'Subtyping'을 따릅니다.isMethodInvocationConvertible(Class<?> sourceType, Class<?> targetType)— 한 타입이 메서드 호출 변환(Method Invocation Conversion, JLS 5.3)으로 다른 타입으로 변환될 수 있는지 판단합니다. 하위 타입이 허용하는 모든 변환과, 박싱 변환(선택적으로 이어진 확장 참조 변환), 언박싱 변환(선택적으로 이어진 확장 프리미티브 변환)을 포함해요.isConvertibleWithoutLoss(Class<?> sourceType, Class<?> targetType)— 정밀도를 잃지 않고 한 타입이 다른 타입으로 변환될 수 있는지 결정합니다.isWrapperType(Class<?> type)— 전달된 타입이 프리미티브 타입의 래퍼인지true/false로 반환합니다.getPrimitiveType(Class<?> wrapperType)— 프리미티브 타입의 래퍼 클래스를 받아 대응하는 프리미티브 타입의 클래스를 반환합니다.getWrapperType(Class<?> primitiveType)— 프리미티브 타입의 클래스를 받아 대응하는 래퍼 타입의 클래스를 반환해요.getPrimitiveTypeByName(String name)— 프리미티브 타입의 이름을 받아 그 클래스를 반환합니다.