Java/Java 이론

문자열 자료형

2주녘 2023. 9. 8. 20:50
반응형
    // String : 문자열 자료형
    // 0 ~ 다수의 문자들로 구성됨
    // ""로 둘러쌈
    // String은 참조 자료형임

    // 리터럴 방식
    String str1 = "Hello Java!";
    String str2 = "반갑습니다. 주녘의 블로그입니다.";

    // 빈 문자열도 가능
    String str3 = "";

    // 인스턴스 생성 방식
    String str4 = new String("안녕, 나는 주녘이야");

    String hi1 = "Hi";
    String hi2 = "Hi";
    String jv = "Java";

    // 리터럴끼리는 == 사용하여 비교가 가능함
    boolean bool1 = hi1 == hi2;  	// true
    boolean bool2 = hi1 == jv;		// false

    String hi3 = new String("Hi");
    String hi4 = new String("Hi");
    String hi5 = hi4;

    // 인스턴스와 비교하려면 == 이 아닌 .equals 메소드를 사용

    boolean bool3 = hi3 == hi4;		// false
    // 같은 Hi 인데 왜 false로 나올까?
    // hi3와 hi4 메모리의 다른 주소값으로 인스턴스가 생성되었기 때문!
    int result = System.identityHashCode(hi3);		// 2074407503
    int result2 = System.identityHashCode(hi4);		// 999966131

    boolean bool4 = hi1.equals(hi2);		// true
    boolean bool5 = hi1.equals(hi3);		// true
    boolean bool6 = hi1.equals(hi4);		// true
    boolean bool7 = hi1.equals(hi2);		// true
    boolean bool8 = hi4 == hi5;			// true
}

 

반응형