객체가 원시인지 확인
질문:
객체[] 배열을 다룰 때, 어떤 요소가 기본 값을 나타내는지 어떻게 식별할 수 있나요? Class.isPrimitive()를 사용하면 잘못된 결과가 나오는 것 같습니다.
답변:
Object[] 배열의 요소가 객체에 대한 참조라는 점을 이해하면 Class. isPrimitive()는 항상 false를 반환합니다. 객체가 "기본 요소의 래퍼"(예: int의 경우 정수)인지 확인하려면 사용자 정의 접근 방식이 필요합니다.
다음은 해결 방법을 보여주는 Java 코드 조각입니다.
<code class="java">import java.util.*; public class Test { public static void main(String[] args) { System.out.println(isWrapperType(String.class)); // false System.out.println(isWrapperType(Integer.class)); // true } private static final Set<Class<?>> WRAPPER_TYPES = getWrapperTypes(); public static boolean isWrapperType(Class<?> clazz) { return WRAPPER_TYPES.contains(clazz); } private static Set<Class<?>> getWrapperTypes() { Set<Class<?>> ret = new HashSet<>(); ret.add(Boolean.class); ret.add(Character.class); ret.add(Byte.class); ret.add(Short.class); ret.add(Integer.class); ret.add(Long.class); ret.add(Float.class); ret.add(Double.class); ret.add(Void.class); return ret; } }</code>
이 접근 방식을 활용하면 Object[] 배열의 객체가 기본 값을 나타내는지 또는 기본 값에 대한 래퍼 클래스를 나타내는지 정확하게 확인할 수 있습니다.
위 내용은 Object[] 배열에서 기본 값을 식별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!