我正在尝试根据用户可以设置的计时器遍历列表。但是我找不到在TimerTaskrunnable中做这件事的好方法。
总体思路可以在我下面分享的代码中找到。Announcements是List一个List<String>。在每个间隔上,我都想announcement从中获取下一个间隔announcements并显示其中的字符串。除了计时器超过多个,我已经完成了所有工作announcements:
timer.scheduleAtFixedRate(new TimerTask() {
int iterator = 0;
@Override
public void run() {
List<String> announcement = announcements.get(iterator);
for (String line : announcement) {
Bukkit.broadcastMessage(line);
}
iterator++;
if(iterator > announcements.size()){
iterator = 0;
}
}
}, 0, (int)config.get("interval")*1000);
使用我发布的代码,我得到了一个IndexOutOfBoundsException,它甚至从不发布任何消息。如果我删除迭代器代码,它将announcement无休止地显示第一个。
qq_花开花谢_0
相关分类