2016-06-02 1 views
1

클래스 목록이 들어있는 String 배열을받는 메서드가 있습니다. 하나는 Java AWT 구성 요소이고 해당 구성 요소 인스턴스로 목록을 반환하는지 확인해야합니다. 하지만 개체가 Java Awt 구성 요소인지 아닌지 여부를 테스트하는 데 막혔습니다. 저를 도와주세요 ! 감사합니다오브젝트가 Java AWT 컴포넌트인지 테스트하는 방법은 무엇입니까?

편집 : 고마워! .isAsignableFrom() 메소와 함께 작동합니다. 나는 instanceof 연산자에 대해 알고 있었지만 제대로 작동하지는 않았다.

+0

이미 개체를 가지고 있습니까를? 또는 클래스 이름 만? – Thilo

+0

가장 쉬운 방법 : 클래스 이름을'Class'로 해석하고'instanceof' 체크를하십시오. –

답변

0

먼저 인스턴스 만들지 않고 클래스 계층 구조 을 확인하려면 다음

Class<?> clazz = Class.forName(className); // errors out for bad name 
if (Component.class.isAssignableFrom(clazz)){ 
    // ... 
} 
0

개체를 가지고 있다면 당신은 getClass method 사용하여 클래스 이름을 얻을 수 있습니다 :

이 Object의 실행시 클래스를 돌려줍니다. 돌려 주어지는 Class 오브젝트는, 클래스를 나타내는 static synchronized 메소드에 의해 락되는 오브젝트입니다.

다른 옵션은 구성 요소와 같은 지정된 클래스를 확인해야 할 경우 instanceof 연산자를 사용하는 것입니다. 객체가 특정 유형인지 확인하려면 연산자 instanceof을 사용할 수 있습니다.

관련 문제