【发布时间】:2020-11-28 15:16:35
【问题描述】:
我有一堆不同的敌人类,它们的移动和行为都不同,并且通常在屏幕上生成多个它们的实例,因为它们基本上都是随机的,所以我需要使用 ArrayList 以便我可以控制行为每个单独的敌人类别。
但是,这给我留下了一堆这样的 ArrayList:
//Example:
ArrayList<Enemy1> enemies = new ArrayList<Enemy1>();
ArrayList<Enemy2> enemies = new ArrayList<Enemy2>();
ArrayList<Enemy3> enemies = new ArrayList<Enemy3>();
ArrayList<Enemy4> enemies = new ArrayList<Enemy4>();
ArrayList<Enemy5> enemies = new ArrayList<Enemy5>();
有没有办法改变 ArrayList 将存储的数据类型,以便我可以清空并重新使用同一个 ArrayList 的不同实例?或者其他什么,这样我的代码中就不必有十亿个 ArrayList?
附加信息: 我正在使用 Java 处理库执行此操作,不确定它是否会改变任何内容。
对不起,如果答案对你来说太明显了,请不要无礼。
【问题讨论】:
-
你考虑过使用泛型吗?我的意思是做一些事情,比如
ArrayList<?> enemies = new ArrayList<?>();。更多信息:informit.com/articles/article.aspx?p=1021579&seqNum=3 -
谢谢,这正是我需要的!
-
你的
Enemy类结构是什么?Enemy1、Enemy2、Enemy3等是否继承自Enemy类?如果是这样,ArrayList<Enemy>会起作用吗?
标签: java arrays arraylist processing