String и if else

в общем при любом вводе выдает else, хотелось бы знать почему

     String num = smart.nextLine(); {
       
         if (num == "-") {
          
            System.out.print("Drossel "+ run + "first"); }
        else if (num == "+") {
           
            System.out.println("Drossel " + run + "+second"); }
        else  {
            
            System.out.println("Drossel " + run + "+end"); } 

Ответы (1 шт):

Автор решения: ya_ilya

Для сравнивания строк используйте equals:

String num = smart.nextLine();
       
if (num.equals("-")) {
    System.out.print("Drossel "+ run + "first");
} else if (num.equals("+")) {       
    System.out.println("Drossel " + run + "+second");
} else  {
    System.out.println("Drossel " + run + "+end");
}
→ Ссылка