다음 코드가 있습니다 ( http://jd.bukkit.org/rb/doxygen/d6/d7b/EntityType_8java_source.html 에서 minecraft의 bukkit EnittyType Enum 사용 ).
for (EntityType e : EntityType.values())
{
System.out.println("Loading entity: " + e);
Class<? extends Entity> c = e.getEntityClass();
Entity en = c; // <-- This does not work and throws an error
if (en instanceof Monster)
{
System.out.println("Monster --> " + e.getEntityClass());
}
}
나는를 얻으려면 Entity
에서 Class<? extends Entity>
이 특정 클래스가 몬스터 클래스 instanceof를 인 경우 제가 확인할 수 방법.
하려고했지만 c.newInstance()
다음과 같은 많은 예외가 있습니다.
java.lang.InstantiationException: org.bukkit.entity.Egg
at java.lang.Class.newInstance(Unknown Source)
이렇게하면이 특정 클래스가 Monster 클래스의 인스턴스인지 확인할 수 있습니다.
...
다음과 같은 instanceof를 사용하려고합니다.if (c instanceof Monster)
c
A는 Class<? extends Entity>
의 인스턴스와 같은 일을하지 않은, Entity
.
이 작업 Entity
을 수행하기 위해 인스턴스를 생성 할 필요가 없습니다 . 사용 Class#isAssignableFrom()
:
if (Monster.class.isAssignableFrom(c) {
System.out.println("Monster --> " + e.getEntityClass());
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다