2013-04-12 30 views
1

我有一個叫做「實體」的類,這個類被其他類如「玩家」和「粘液」暴徒擴展。在另一個名爲「Level」的類中,我有一個名爲Entity的ArrayList,現在我將這些單獨的類添加到ArrayList。如何從ArrayList中獲取特定的子類?

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

如何在循環訪問ArrayList時檢查當前對象是Player還是Slime?

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運算符來檢查對象的類型。

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

說明

對於更多的細節如何instanceof的作品,看看這個link

1

你可以做這樣的事情

if(entity instanceof Player) 
//do something 
相關問題