J'essaie de détecter la valeur d'une chaîne en position 0 d'un tableau, mais malgré le fait de coller littéralement la valeur que je vérifie, elle ne détecte pas la similarité.Sélection à l'aide d'un tableau de chaînes (java)
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
// boolean method must return true or false
Player player = (Player) sender; // casts the sender, from CommandSender, to class Player
String ref = sender.getName(); // string 'ref' refer's to the sender's name
boolean success = f; // Stores if code is executed correctly
if(label.equalsIgnoreCase("blocks")) { // if command sent is '/blocks'
success = t; // This code will work fine if args has no values
if (args.length == 0) {
some_code()
}else{
getLogger().info(args[0].toString()); // for debugging/prints out the
String arg0 = args[0].toString();
if(arg0 == "broken") { // This is the bit that wont work. when args[0] is 'broken' the if statement passes to the else claus
some_more_code()
}else if(arg0 == "placed") {
even_more_code()
}else {
getLogger().info("I failed to run"); // for debugging / it constantly prints this error message
success = f;}
}
}
Pour le contexte, j'utilise les bibliothèques Bukkit. Lorsque la méthode onCommand est appelée, le tableau args [] lui est passé. J'ai littéralement copié-collé le "broken" et "placé" de mon code dans l'entrée qui passe les args [] à cette méthode, mais il renvoie toujours false.
Toute aide serait appréciée
Copie possible de [Comment comparer les chaînes en Java?] (Https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –