gpt4 book ai didi

java - 在Java中使用字符串作为对象的名称

转载 作者:行者123 更新时间:2023-12-01 06:35:49 24 4
gpt4 key购买 nike

好的,我有以下代码:

Random rnd = new Random();
int i = 0;
while(i<1000) {
String name = "event" + i;
Event name = new Event(rnd.nextInt(100000)); //ERROR duplicate variable
SimEngine.getScheduler().addEventToQueue(event);
i++;
}
System.out.println(SimEngine.getScheduler().getQueue().iterator());

我知道两次声明名字是没有意义的,但我希望你能明白我想要做什么。因为我想要名称为 event1、event2、event3 等的事件对象。

如何才能让我使用字符串名称作为事件对象的名称?

最佳答案

Because I want Event objects with names event1, event2 ,event3 etc.

对象(通常)没有名称。变量有名称。不过,您确实不想拥有名称为 event1event2 等的变量。

在这种情况下,如果您确实需要通过索引访问事件,则基本上应该使用数组。

Event[] events = new Event[1000];
for (int i = 0; i < 1000; i++) {
events[i] = new Event(rnd.nextInt(100000));
SimEngine.getScheduler().addEventToQueue(events[i]);
}

当然,如果您以后不打算使用该变量,那么它毫无意义,而且您也可以这样做:

for (int i = 0; i < 1000; i++) {
SimEngine.getScheduler().addEventToQueue(new Event(rnd.nextInt(100000));
}

如果这种特殊类型的类确实有一个与每个实例关联的名称,我怀疑您需要将该名称传递到构造函数中。

关于java - 在Java中使用字符串作为对象的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13323281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com