我的循环仅检查数组的第一项,这使我的代码每次都失败:
String igitems = "IgnoredItems";
String items = getConfig().getString("IgnoredItems.itemid");
items = items + args[0] + ",";
String[] myarray = items.split(",");
for(String fitem : myarray) {
if(!fitem.equals(args[0])){
getConfig().set(igitems + ".itemid", items);
saveConfig();
reloadConfig();
sender.sendMessage(prefix + ChatColor.GREEN + "Added " + ChatColor.GOLD + args[0] + ChatColor.GREEN + " to ignore list.");
break;
} else {
sender.sendMessage(prefix + ChatColor.RED + "Item is already in the list");
break;
}
}
如果我在 String[] myarray = items.split(",");
之后添加 system.out.print(myarray);
它会显示整个数组,哪个是正确的:
1:0
2:0
5:0
8:0
5:0
但是,当我在 for(String fitem : myarray){
之后添加 system.out.print(fitem);
时,它仅显示数组中的第一项 ( 1:0) 这使得我的代码几乎每次都会失败,除非它是第一项。
最佳答案
看看this question及其答案 - 你的 break
语句导致了这种行为。您可能想要继续
或者什么都不想要,因为那会有相同的行为。
关于java - 我的循环仅检查第一个数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26597411/