Java String Equals

시간 제한1초메모리 제한1024 MB

요약
문자열 "null"을 실제 null 객체로 취급할 때, Java의 equals와 equalsIgnoreCase 결과를 출력하고 A가 null이면 NullPointerException을 출력한다.
난이도

쉬움10점 중 2점

유형
구현, 문자열, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Java에서 두 문자열을 비교하는 경우 대소문자를 구분해서 비교하는 equals()와 대소문자를 구분하지 않고 비교하는 equalsIgnoreCase()를 사용한다. "a".equals("a")의 경우 true, "a".equals("A")의 경우 false를 반환하지만, "a".equalsIgnoreCase("A")의 경우 true를 반환한다.

한편, Java에서는 값이 존재하지 않는 상황을 나타내기 위해 객체 null을 사용한다. AA를 기준 문자열, BB를 비교 문자열이라고 할 때, A.equals(B)와 A.equalsIgnoreCase(B)에서 AA가 객체 null인 경우에는 NullPointerException이 발생한다. 그러나 AA가 객체 null이 아니고, BB가 객체 null인 경우에는 NullPointerException이 발생하지 않는다.

두 문자열 AA와 BB가 주어졌을 때, A.equals(B)와 A.equalsIgnoreCase(B)의 결과를 출력해 보자. 단, 주어진 문자열이 "null"인 경우 객체 null이 주어진 것으로 인식한다.

입력

첫 번째 줄에 기준 문자열 AA가 주어진다.

두 번째 줄에 비교 문자열 BB가 주어진다.

두 문자열은 대소문자 알파벳과 숫자로 구성되어 있으며, 1≤∣A∣,∣B∣≤1001 \leq |A|, |B| \leq 100을 만족한다.

출력

첫 번째 줄에 A.equals(B)의 결과를 출력한다. NullPointerException이 발생한다면 NullPointerException을 출력하고, 반환값이 true인 경우 true, 반환값이 false인 경우 false를 출력한다.

두 번째 줄에 A.equalsIgnoreCase(B)의 결과를 같은 방식으로 출력한다.

예제4

  1. 예제 1

    입력
    lms0806
    lms0806
    
    예상 출력
    true
    true
    
  2. 예제 2

    입력
    lms0806
    Ims0806
    
    예상 출력
    false
    false
    
  3. 예제 3

    입력
    lms0806
    Lms0806
    
    예상 출력
    false
    true
    
  4. 예제 4

    입력
    null
    lms0806
    
    예상 출력
    NullPointerException
    NullPointerException