>  기사  >  Java  >  Java 일반 삭제 문제 및 솔루션을 피하는 방법은 무엇입니까?

Java 일반 삭제 문제 및 솔루션을 피하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-04-23 12:22:07999검색

1. 문제 설명

일반 유형은 변환, 인스턴스 및 신규와 같은 런타임 유형 작업에 명시적으로 사용할 수 없습니다. 런타임 시 모든 매개변수의 유형 정보가 손실되기 때문입니다.

2. 해결 방법

/**
 * 泛型类型判断封装类
 * @param <T>
 */
class GenericType<T>{
    Class<?> classType;
    
    public GenericType(Class<?> type) {
        classType=type;
    }
    
    public boolean isInstance(Object object) {
        return classType.isInstance(object);
    }
}

메인 메소드에서는 다음과 같이 호출할 수 있습니다.

GenericType<A> genericType=new GenericType<>(A.class);
System.out.println("------------");
System.out.println(genericType.isInstance(new A()));
System.out.println(genericType.isInstance(new B()));

유형 매개변수의 클래스 객체를 기록한 다음 이 클래스 객체를 사용하여 유형 판단을 수행합니다.

위 내용은 Java 일반 삭제 문제 및 솔루션을 피하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제