\# Java 기초 - 매일 수 록 됨 (1)

3137 단어 자바
자바 기반 - 매일 기록 (1)
자바 에서 "= ="은 메모리 셀 과 일치 하 는 내용 이 같 는 지 여 부 를 나타 내 는 데 사 용 됩 니 다.
4. 567917. 만약 에 원시 유형, 예 를 들 어 byte, boolean, short, char, int, long, float, double 이 라면 값 이 같다 는 것 을 나타 낸다
4. 567917. 인용 유형 이 라면 인용 값 이 같 는 지, 즉 인용 주소 가 같은 지 여 부 를 나타 낸다
예 를 들 어 String 형식:
public class StringTest {
    public static void main(String[] args) {
    String a = "ab";
    String b = "a"+"b";
    String c = new String("ab");
    String d = new String("ab");
    System.out.println(a==b);
    System.out.println(a==c);
    System.out.println(c==d);
    System.out.println(a.equals(b));
    System.out.println(a.equals(c));
    System.out.println(c.equals(d));
    }
}

실행 결 과 는 true false true true 결 과 를 통 해 뚜렷하게 알 수 있 습 니 다. = = 인용 주소 가 같 는 지, String 의 equals () 방법 은 값 이 같 는 지 여 부 를 판단 합 니 다.다음 예 테스트 에서 당신 은 알 고 있 습 니까?
public class StringTest {
    public static String get(){
        return "a";
    }
    public static void main(String[] args) {
        String a_1 = "a";
        final String a_2 = "a";

        String a = "ab";
        String b = a_1+"b";
        String c = a_2+"b";
        String d = get()+"b";
        System.out.println(a==b);
        System.out.println(a==c);
        System.out.println(a==d);
    }
}

결 과 는 false, true, false.
주: final 은 상수 를 정 의 했 기 때문에 같 습 니 다.변수 와 방법 은 인용 을 되 돌려 주기 때문에 같 지 않다.컴 파 일 러 는 변수 연결 (+) 문자열 을 StringBuiler 의 append 방법 으로 컴 파일 하여 연결 작업 을 수행 합 니 다.
equals 방법 에 대해 말하자면 hashCode 방법 을 말 해 야 한다. 이 방법 은 하나의 숫자 를 만들어 대상 을 표시 하 는 것 이다. 표지 라 고 하지만 서로 다른 대상 이 발생 할 수 있 는 hash 값 은 같 고 같은 대상 이 발생 할 수 있 는 hash 값 이 다 르 기 때문에 hashCode 방법 으로 두 대상 이 일치 하 는 지 판단 할 수 없다.

좋은 웹페이지 즐겨찾기