Чем отличаются эти строчки ?
Зачем toString() ?
Тут я беру число из массива и сравниваю с обратным (проверяю на полиндром)
Но если убрать toString() в конце условия, то не сработает ?
for (int i = 0; i < n; i++) {
if (Integer.toString(arr[i]).equals(new StringBuffer().append(Integer.toString(arr[i])).reverse().toString()))
System.out.println(arr[i]);
}
Но вот другой пример без toString() работает:
System.out.print(new StringBuffer().append("Hello").reverse());
elloH
Метод System.out.print() вызывает toString() автоматически. Так что приведение типов делать не требуется. А вот метод equals() требует параметр того же типа что и сам объект. Если переопределить этот метод, то конструкция в выражении будет работать. Для более детального понимания как работает метод print() надо смотреть документацию.
Продвижение своими сайтами как стратегия роста и независимости