使用字符串扩展对象标题

时间:2014-10-31 11:29:01

标签: java string extend

我有一个对象,我希望这个名称可以像这样随机化:

Object object = type_""+rand(1,4);

所以"对象"可以是object_1,或object_2等(他们在其他地方定义) 但是,如果object是String,这似乎只能起作用。它对其他类型也有效吗?

为了更清楚,这里有一个例子,whcih创建一个Sprite(在andengine中):

super(2, 900, ResourcesManager.getInstance().box_1 , vbo);  

但是box_1是随机的..也可以是box_2,box_3 ......我怎样才能实现它?

2 个答案:

答案 0 :(得分:1)

您在Java中尝试这样做的方式是不可能的。您的对象引用需要位于容器中以从中进行选择。例如,您可以使用数组

Object[] arr= new Object[]{obj1,obj2,obj3};
Object rand = arr[new Random().nextInt(0,3)];

答案 1 :(得分:0)

根据问题的更新完全重写

你可以使用Strings来做到这一点,但它有点hacky:

super(2, 900, ResourceManager.class.getDeclaredField("box_" + (1 + new Random().nextInt(2))).get(ResourcesManager.getInstance()) , vbo);