У вас здесь очень странная архитектура, мой друг. Вы не должны использовать универсальные Object
везде, а только реальные типы. Первое:
public Object getAllInventoryItems() {
//return InventoryItems;
return this.InventoryItems.toArray();
}
Почему бы просто не вернуть List
сам?
public List<Item> getAllInventoryItems() {
return this.InventoryItems;
}
Также измените это:
List<Item> InventoryItems = new ArrayList<Item>();
и это:
public void setInventoryItems(Item inventoryItems) {
this.InventoryItems.add(inventoryItems);
}
Теперь итерация List
плавно:
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Item> InvetoryItems;
Inventory inv = new Inventory();
inv.createItemObj(101, "camera", "Used camera that I bought off of a homeless guy.", 500);
InvetoryItems = inv.getAllInventoryItems();
for(Item item : InvetoryItems){
System.out.println(item.getItemName());
}
System.out.println("Done");
}
Кстати, я изменил Items
на Item
по привычке. Имя класса должно указывать на одну сущность, поэтому по соглашению оно единственное.
Теперь не поймите это неправильно, но вы, возможно, ошиблись с Java, поэтому я настоятельно рекомендую это чтение: http://www.mindview.net/Books/TIJ/ Это сработало для меня, когда я начинал с Java, может быть, другие тоже могут предложить хорошие источники.