java - 表达式的类型必须是数组类型,但它解析为字符串 | java

标签 java string boolean minecraft detect

编辑:

我已经修改了我的代码并采用了更可靠的方法,但我的播放器仍然存在错误。

package me.kcsharkfin.commands;

import me.kcsharkfin.alreadysaid.AlreadySaid;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class HelpCommand implements CommandExecutor {

    private AlreadySaid plugin;

    public HelpCommand(AlreadySaid plugin) {
        this.plugin - plugin;
        plugin.getCommand("help").setExecutor(this);
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player))
            sender.sendMessage("Only Players Have Permission to Execute This Command");
            return true;
    }

    Player p - (Player) sender;

    if (p.hasPermission("alreadysaid.command.help"))
        p.sendMessgae("Test");
        return true;
    } else {
        p.sendMessage("You Do Not Have Permision To Execute This Command!");
    }
    return false;
    }

}

那是我的 HelpCommand.class,我还有一个 AlreadySaid.class

  public void onEnable() {
    this.config = new Config(this);
    this.config.load();
    getServer().getPluginManager().registerEvents(this, (Plugin)this);
    new HelpCommand(this);
  }

在onEnable部分,我尝试调用该命令,但它似乎对我没有多大帮助。

最佳答案

我相信我在你的 onCommand 方法中发现了你的问题

strings.length()!=1

但是,为了获取java对象数组的长度,您必须使用.length,因此只需将该行替换为

if (strings.length != 1) {

你应该表现得很好!

编辑

好吧,我现在意识到事实恰恰相反 因此,由于您的“strings”变量只是一个字符串,因此您不能执行 strings[0] 您需要做的就是

strings.equalsIgnoreCase("help")

关于java - 表达式的类型必须是数组类型,但它解析为字符串 | java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59081436/

相关文章:

c# - 将 boolean 参数传递给 SQL Server 存储过程

ios - 通过BOOL选择的按钮集

java - 如何在运行时通过 netbeans 窗口向 java 应用程序提供输入?

java - 如何在 Java 中使用 Open Type 字体?

java - 用于匹配字符串中正负数值的正则表达式模式

c - 在 K&R C 中传递字符串文字

c++ - 如何将包含不同语言的 wstring 行写入文件?

java - 在 Java 中嵌套 try/catch 语句是否可以接受?

string - 将外部单元格地址转换为vba中的范围

javascript - 设置变量以保存值始终为真