반응형
리플렉션을 통해 Java 클래스가 추상적인지 여부를 어떻게 확인할 수 있습니까?
Jar 파일에서 클래스를 통해 간섭하고 추상적이지 않은 클래스를 찾고 싶습니다. 클래스를 인스턴스화하고 InstantiationException을 트래핑하여이 문제를 해결할 수 있지만 일부 클래스가 시작되면 성능이 저하됩니다. Class.java 문서에서 isAbstract ()와 같은 것을 찾을 수 없습니다.
클래스 객체에서 getModifiers ()를 호출하면 수정 자 중 하나로 추상이 표시됩니다.
이 링크 가 도움이 될 것입니다.
Modifier.isAbstract( someClass.getModifiers() );
또한:
http://java.sun.com/javase/6/docs/api/java/lang/reflect/Modifier.html
http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getModifiers ()
Class myClass = myJar.load("classname");
bool test = Modifier.isAbstract(myClass.getModifiers());
public static boolean isInstantiable(Class<?> clz) {
if(clz.isPrimitive() || Modifier.isAbstract( clz.getModifiers()) ||clz.isInterface() || clz.isArray() || String.class.getName().equals(clz.getName()) || Integer.class.getName().equals(clz.getName())){
return false;
}
return true;
}
반응형
'Programming' 카테고리의 다른 글
Vim 또는 Linux에서 공백을 탭으로 변환하는 방법은 무엇입니까? (0) | 2020.05.24 |
---|---|
이벤트 핸들러가 이미 추가 되었습니까? (0) | 2020.05.24 |
빌드 계획을 계산할 수 없습니다 : 플러그인 org.apache.maven.plugins : maven-resources-plugin : 2.5 또는 해당 종속성 중 하나를 해결할 수 없습니다 (0) | 2020.05.24 |
jQuery를 사용하여 요소를 선택하려면 어떻게해야합니까? (0) | 2020.05.24 |
서브 클립 스 svn : ignore (0) | 2020.05.24 |