문자열 비교와 주요 메서드를 올바르게 사용합니다.
String은 변경 불가능한 객체입니다. 메서드는 원본을 바꾸지 않고 새 문자열을 반환합니다. 내용 비교는 equals를 사용하고 ==는 같은 객체 참조인지 비교합니다.
trim이 양 끝의 공백을 잘라 낸 새 문자열을 만들고, toLowerCase가 그 결과로 다시 새 문자열 java web을 만듭니다. 가운데 공백은 trim의 대상이 아니라 남아 있고, raw는 여전히 앞뒤 공백이 붙은 원래 값을 가리킵니다. 인수 없는 toLowerCase는 실행 환경의 기본 로케일을 따르므로, 터키어 환경처럼 대소문자 규칙이 다른 곳에서도 같은 결과가 필요하면 toLowerCase(Locale.ROOT)를 씁니다.
문자열 리터럴은 pool에서 공유될 수 있어 ==가 우연히 true가 되기도 하지만 새 객체나 입력값에서는 달라질 수 있습니다.
대소문자·공백 정규화 정책을 정하고 null 가능성이 있으면 Objects.equals를 사용합니다.
문자열 내용을 ==로 비교하지 마세요. 테스트에서는 통과하다 운영 입력에서 실패할 수 있습니다.
직접 바꿔보세요공백을 제거하고 소문자로 바꾼 태그를 출력하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.