TypeUtilities

TypeUtilities (자바 타입 유틸리티)

자바 타입을 다루기 위한 다양한 정적 유틸리티 메서드 모음입니다. 프리미티브·래퍼 타입 변환과 타입 간 변환 가능성 판단을 돕습니다.

출처: Java API Reference

본문

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) — 프리미티브 타입의 이름을 받아 그 클래스를 반환합니다.

더 알아보기

Java 공식 API