[Java 기초]인용 유형 이 같다 고 판단 합 니 다.

7810 단어 자바 기반
자바 에 서 는 값 형식의 변수 가 같은 지 판단 하여 사용 할 수 있 습 니 다==.그러나 인용 유형의 변수 가 동일 한 지 판단==은'인용 이 동일 한 지'또는 같은 대상 을 가리 키 는 지 여 부 를 나타 낸다.예 를 들 어 아래 의 두 String 유형 은 내용 이 같 지만 각각 다른 대상 을 가리 키 고==으로 판단 한 결과false로 나 타 났 다.
public class Main {
     
    public static void main(String[] args) {
     
        String s1 = "hello";
        String s2 = "HELLO".toLowerCase();
        System.out.println(s1);
        System.out.println(s2);
        if (s1 == s2) {
     
            System.out.println("s1 == s2");
        } else {
     
            System.out.println("s1 != s2");
        }
    }
}

인용 유형의 변수 내용 이 같 는 지 판단 하려 면equals()방법 을 사용 해 야 합 니 다.
public class Main {
     
    public static void main(String[] args) {
     
        String s1 = "hello";
        String s2 = "HELLO".toLowerCase();
        System.out.println(s1);
        System.out.println(s2);
        if (s1.equals(s2)) {
     
            System.out.println("s1 equals s2");
        } else {
     
            System.out.println("s1 not equals s2");
        }
    }
}


메모:실행 문s1.equals(s2)시 변수s1null이면 보고 합 니 다NullPointerExceptionNullPointerException오 류 를 피 하려 면 단락 연산 자&&를 이용 할 수 있 습 니 다.
public class Main {
     
    public static void main(String[] args) {
     
        String s1 = null;
        if (s1 != null && s1.equals("hello")) {
     
            System.out.println("hello");
        }
    }
}

또한 반드시null이 아 닌 대상hello을 앞 에 놓 을 수 있다.예 를 들 어if("hello".equals(s)){...}.

좋은 웹페이지 즐겨찾기