2013-10-24 3 views
0

У меня есть два класса, предметы и монстр. Monster - это подкласс элементов. Я просматриваю коллекцию экземпляров элементов, чтобы увидеть, соответствуют ли они экземпляру монстра, и если да, добавьте экземпляр элемента в экземпляр монстра. Однако я не уверен, как передать конкретный элемент в arraylist другому классу. Heres мой код любая помощь была бы полезна.Листинг экземпляра списка массивов в другой экземпляр

public void describe() 
    {  
     int j = 0; 

     while(j < iInstances.size()) 
     { 
      if(iInstances.get(j).equals(mInstances.get(j))) 
      { 

      } 
      iInstances.get(j).describe(); 
     } 
    } 
+1

Марка обязательно добавьте 'j' в свой цикл. –

ответ

2

Monster monster = (Monster) iInstances.get(j);

+0

листинг не будет выполнен, если 'iInstances.get (j)' хранит объект 'Items'. добавьте проверку ('instanceof') перед литьем. –

+0

Если вы помещаете это внутри оператора if, это никогда не произойдет –

+0

@EugenHalca да, оно должно быть внутри оператора if – dkatzel

0

Если вы хотите, чтобы проверить каждый Item, если он является экземпляром класса Monster, вы можете легко задать его для своего экземпляра, а затем бросить в Monster:

public void describe() { 
    for (Item item : iInstances) { 
     if (item instanceof Monster) { 
      Monster monster = (Monster) item; 
      // now do what you want with your monster 
     } 
    } 
} 
Смежные вопросы