언어 공부 내용 정리/백준

백준 자바 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() 을 이용한다