Java 如何在方法之间传递字符串?
我对Java非常陌生,我遇到了一个我不知道如何解决的错误。似乎我无法传递字符串maincmd:Java 如何在方法之间传递字符串?,java,methods,Java,Methods,我对Java非常陌生,我遇到了一个我不知道如何解决的错误。似乎我无法传递字符串maincmd:String maincmd=“op”+“\t”+sender.getName()编码到名为dispatcher的新方法中。我也不能使用dispatcher功能和相同的方法onCommand 我正在重写与Minecraft相关的抽象类中的方法 package bukkit.simondoestuff; import org.bukkit.Bukkit; import org.bukkit.comman
String maincmd=“op”+“\t”+sender.getName()将>编码到名为dispatcher的新方法中。我也不能使用dispatcher功能和相同的方法onCommand
我正在重写与Minecraft相关的抽象类中的方法
package bukkit.simondoestuff;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.plugin.java.JavaPlugin;
public class OpCodesMain extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("OPME Successful Startup");
}
@Override
public void onDisable(){
getLogger().info("OPME Successful Shutdown");
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
String maincmd = "op" + "\t" + sender.getName();
if (cmd.getName().equalsIgnoreCase("opme")) {
if (sender.hasPermission("opme.bypass")) {
dispatcher(maincmd);
} else {
if (args[0].equalsIgnoreCase("")) {
sender.sendMessage("§7/opme [key]");
} else {
if (args[0].equalsIgnoreCase("31415926")) {
dispatcher(maincmd);
sender.sendMessage("§7OPME: §aCorrect Code Received");
} else {
sender.sendMessage("§7OPME:" + "§cIncorrect Code Received");
}
}
}
}
return false;
} // onCommand close
public void dispatcher(String maincmd, ConsoleCommandSender console) {
Bukkit.dispatchCommand(console, maincmd);
}
} // end class
除了maincmd
之外,您的方法还需要一个参数,该参数是的子接口。所以你唯一做错的就是忽略这个参数。也就是说,您可以传递的唯一可能的实例是sender
,这需要一些冒险的强制转换。我建议您更改代码以避免此类强制转换,但这里有一个适合您当前版本的肮脏解决方案:
dispatcher(maincmd, (ConsoleCommandSender) sender);
“…dispatcher functional and in the same method,onCommand.”意思是“…dispatcher functional in the same method,onCommand.”如果您想更正某些问题,请随意提问。您的dispatcher
方法需要两个参数,但您只给出1。