언어 공부 내용 정리/백준
백준 자바 10988
wosrn
2023. 6. 16. 23:13
package Baekjoon;
import java.util.Scanner;
public class pald {
public static void main(String [] args) {
Scanner input = new Scanner(System.in);
String a = input.nextLine();
StringBuilder sb = new StringBuilder();
sb.append(a);
if(a.equals(sb.reverse().toString())) System.out.println(1);
else System.out.println(0);
}
}
reverse() 메소드를 사용해주었다
String에 reverse() 메소드가 있다면 좋겠지만 그렇지 않기 때문에 StringBuilder를 이용했다
equals() 메소드를 이용할 땐 비교대상 두 개가 모두 String 타입인 상태에서 이용해야 제대로 비교가 되는듯
서치 결과 내가 짐작한 게 맞았다 !
String 클래스는 값을 비교하도록 equals() 메서드가 재정의되었지만, StringBuilder 클래스는 equals() 메서드가 재정의되지 않았기에 여전히 참조하고 있는 주소 값을 비교한다고 한다
따라서 StringBuilder의 값을 비교하고 싶다면 toString() 을 이용한다