Java · 문자열·연습 문제

문자열 == vs equals

문제 설명PROBLEM

문자열 == vs equals

문제

첫 문자열과, 둘째 문자열 내용으로 새로 만든 String 객체를 ==와 equals로 각각 비교하세요.

구현할 함수

static String compareStrings(String first, String second)

입력

공백 없는 문자열 first와 second가 한 줄에 주어집니다.

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

참조 비교 결과와 내용 비교 결과를 공백으로 출력합니다.

구현 조건

  • new String(second)로 새 객체를 만드세요.
  • ==와 equals를 모두 사용하세요.
  • 첫 결과는 참조 동일성, 둘째 결과는 내용 동일성이어야 합니다.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1같은 내용hi hifalse true
2다른 내용java Javafalse false
3숫자 문자열123 123false true
개념 노트와 실수 포인트

문자열

  • ⚠️ == 는 주소 비교, 내용 비교는 반드시 equals. new String("hi") 는 새 객체라 == 가 false.
  • String 은 불변(메서드는 새 문자열 반환).
  • 메서드: length(), charAt(i), substring(a,b) 는 b 인덱스 제외, indexOf, replace, split, toUpperCase. 가변 조작은 StringBuilder(append,reverse).
  • String.format("%03d", 7)007.