Как сравнить массив String на палиндром - Java

У меня есть код, сначала я ввожу массив с двух слов, потом в методе wypisz я выписываю
массив и + перевожу его в строку символов чтобы легче было сравнивать на палиндром, дальше
в методе wypiszOdKonca я делать все тоже самое что и в методе выше, но с конца вывожу
массив + тоже перевожу его в строку символов. Потом в методе czyPalindrom я с помощью
функции equals сравниваю строку символов нормально выведенную + строку символов
выведенную с конца, и если они совпадают то хочу вернуть true. Сейчас даже когда они
у меня одинаковые то я получаю false, не понимаю почему так.

    public static void main(String[] args) {
        Tablica tablica = new Tablica(2);
        tablica.do_tablicy();
        tablica.wypisz();
        System.out.print("\n");
        tablica.wypiszOdKonca();
        System.out.print("\n" + tablica.czyPalindrom());
    }
public class Tablica {
    private int liczbaElementow;
    private String[] tablica;

    private String resultOdPoczatku = "";
    private String resultOdKonca = "";
    private char[] charArrayOdPoczatku;
    private char[] charArrayOdKonca;

    public Tablica(int liczbaElementow) {
        this.liczbaElementow = liczbaElementow;
        tablica = new String[liczbaElementow];
    }

    public void do_tablicy() {
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < tablica.length; i++)
            tablica[i] = scanner.nextLine();
    }

    public void wypisz() {
        for (String x : tablica) {
            System.out.print(x + "\t");
            resultOdPoczatku = resultOdPoczatku + x;
        }

        charArrayOdKonca = resultOdPoczatku.toCharArray();
        System.out.print(charArrayOdKonca);
    }

    public void wypiszOdKonca() {
        for (int i = tablica.length - 1; i >= 0; i--) {
            System.out.print(tablica[i] + "\t");
            resultOdKonca = resultOdKonca + tablica[i];
        }

        charArrayOdPoczatku = resultOdKonca.toCharArray();
        System.out.print(charArrayOdPoczatku);
    }

    public boolean czyPalindrom() {
        System.out.print("\n");
        System.out.print(charArrayOdPoczatku);
        System.out.print("\n");
        System.out.print(charArrayOdKonca);

        return charArrayOdPoczatku.equals(charArrayOdKonca);
    }
}

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

Автор решения: Sergey Zh.

В java проверка строки на палиндром легче всего осуществляется с помощью класса StringBuilder. допустим есть строка "abcba"

String str = "abcba";
    

Тогда условие проверки будет:

str.equals(new StringBuilder(str).reverse().toString());
→ Ссылка