Проблема If\else в Java с проверкой

import java.util.Scanner;

public class Program { public static void main(String[] args){

    Scanner in = new Scanner(System.in);
    int c = 0;

    for(int i = 1; i < 999; i++) {
        //Ввод данных
        System.out.print("\nInput number 1: ");
        int a = in.nextInt();
        in.nextLine();

        System.out.print("Input Symbol: ");
        String decor = in.nextLine();

        System.out.print("Input number 2: ");
        int b = in.nextInt();

        // Проверка на спец.символ
        switch (decor) {
            case "+":
                c = a + b;
                break;
            case "-":
                c = a - b;
                break;
            case "*":
                c = a * b;
                break;
            case "/":
                c = a / b;
                break;
            default:
                System.out.println("Error!");
                break;
        }
        // Проверка на наличии спец символа и вывод на консоль
        if(decor == "+" || decor == "-" || decor == "*" || decor == "/") {
            System.out.println(a + " " + decor + " " + b + " = " + c);
        }else{
            System.out.println("Error!");
        }
    }
}

}

Код запускается всё супер, свитч тоже работает. Но при проверке if выходит ошибка в любом случае даже когда в decor хранится значение которое есть при проверке.

Input number 1: 5

Input Symbol: +

Input number 2: 5

Error!

Input number 1:


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