2013-04-12 2 views
1

"Entity"라는 클래스가 있는데, 이는 "Player"및 "Slime"mob와 같은 다른 클래스에서 확장되었습니다. "Level"이라는 또 다른 클래스에는 entities라는 ArrayList가 있습니다. 이제이 개별 클래스를 ArrayList에 추가합니다.ArrayList에서 특정 하위 클래스를 가져 오는 방법은 무엇입니까?

for (Entity entity : entities) { 
    entities.add(entity); 
} 

현재 개체가 플레이어 또는 점액 인 경우 ArrayList를 반복하면서 어떻게 확인합니까?

for (Entity entity : entities) { 
    if (entity == Player) { 
     System.out.println("Player class!"); 
    } 
} 

분명히 작동하지 않지만 어떻게 할 수 있습니까? 어떤 도움 주셔서 감사합니다 :)

답변

1

개체의 유형을 확인 instanceof 연산자를 사용하십시오.

for (Entity entity : entities) { 
    if (entity instanceof Player) { 
     System.out.println("Player class!"); 
    } 
} 
1

instanceof 연산자를 사용하면 개체 유형을 확인할 수 있습니다.

방법 instanceof 작품에 풀러 자세한 내용은 예

if(entity instanceof Slime) 
{ 
    // Is a mob. 
} 

설명

, 체크 아웃이 link

1

당신이 할 수있는 일

if(entity instanceof Player) 
//do something 
같은
관련 문제