java - 我的循环仅检查第一个数组项

标签 java loops bukkit

我的循环仅检查数组的第一项,这使我的代码每次都失败:

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/

相关文章:

java - 内部内容在 JScrollPane 中显示然后消失

c++ - 如何记录 C++ 重复迭代函数的总时间?

java - XML 将 : Loop through a child node and save field, 值解析为 HashMap

java - 在 while 条件下赋值

java - 加油机库存未更新 bukkit

java - BUKKIT 插件 API : How can I check if a player's inventory contains an item included in an array?

java - 如何在我的 Web 应用程序中找到 Guice 模块列表?

java - 使用单独的线程加载数组

java - AppCompatActivity 内存不足错误

java - ClassNotFoundException 在 eclipse 构建路径中使用另一个 jar 文件时(minecraft 插件)