为什么我的代码中的这个 if 语句被忽略了?

Why is this if statement in my code ignored?

此代码应该反转字符串,然后使用 if 语句检查原始字符串输入是否等于反转输入。但是 if 语句永远不会运行,表明原始字符串和反转字符串不相同......即使我输入回文。

import java.util.Scanner;

public class TestScannerPalindrome {
    static String reverse(String par) {
        String reversed = new String();
        for(int i = par.length() - 1; i >= 0; i--) {
            reversed += par.charAt(i);
        }
        return reversed;
    }
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner sc = new Scanner(System.in);
        String unos = sc.nextLine();
        if(unos == reverse(unos)) {
            System.out.println(unos + " is palindrome");
        } else {
            System.out.println(unos + " is not palindrome");
        }

    }

}

字符串是 Java 中的对象,因此您不能使用“==”运算符比较它们。您必须使用 String class.

的 equals() 方法