использовать для каждого в множественном типе ArrayList - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть Array List, содержащий несколько объектов Entity, и эти объекты имеют различный тип (потому что объект является абстрактным классом). В этом списке массивов, который я назову myEntities, у меня есть что-то вроде [4x Zombies, 5x Plants, 6x Projectiles] (перемешано). Все эти типы распространяются на Entity, но я хочу только с циклом for-each, чтобы удалить зомби. Как я могу это сделать?

PS: я не могу использовать instanceof

1 Ответ

0 голосов
/ 14 апреля 2019

Вы можете использовать такую ​​структуру:

static class foo{

  }

  static class bar{

  }

  public static void main(String[] args) {
    ArrayList<Object> a = new ArrayList<>();
    a.add(new foo());
    a.add(new bar());

    for (Object o: a) {
      if(o.getClass() == foo.class){
        a.remove(o);
      }
    }
  }

Надеюсь, что это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...