List<String> s = getConfig().getStringList("clanowner");
if (!(s.isEmpty())) {
for (String str : s) {
String[] words = str.split(":");
menu.clanowner.put(words[0], words[1]);
}
}
所以,我得到了一个java.lang.indexoutofboundsexception,但我不知道为什么会这样。有人请帮助我吗?
答案 0 :(得分:0)
我的预感是
String[] words = str.split(":");
可能不会返回长度为2的数组。将for语句的最后一行更改为
if(words != null && words.length > 1) {
menu.clanowner.put(words[0], words[1]);
}
应该消除IndexOutOfBoundsException。
作为一种调试练习,它还有助于准确了解它的内容,因此请确保
List<String> s = getConfig().getStringList("clanowner");
通过调试或手动插入应该起作用的值,或者两者兼而有之,确实为您提供了应该生成长度为2或更长的数组的输出。