Ответ 1
List<Class<? extends A>> classes = new ArrayList<Class<? extends A>>();
classes.add(B.class);
classes.add(C.class);
classes.add(D.class);
У меня есть несколько классов (B, C и D), которые являются подклассами класса A. Мне нужно создать список/массив, содержащий B, C и D, и создать объекты на основе любого элемента, который я вытаскиваю из списка/массива.
В AS3 я бы сделал что-то вроде этого: var classes: Array = [MovieClip, Sprite, Shape]; или вектор классов.
Как это сделать в Java? Я сейчас думаю о чем-то подобном:
List<Class<? extends A>> list = new ArrayList<Class<? extends A>>();
list.add(B);
List<Class<? extends A>> classes = new ArrayList<Class<? extends A>>();
classes.add(B.class);
classes.add(C.class);
classes.add(D.class);
Вы можете делать аналоги обоих из них. Как отметил CarlosZ, List
и его различные реализации, или вы может создать массив:
Class[] classes = new Class[] {
MovieClip.class, Sprite.class, Shape.class
};