코딩가딩가

[JAVA]String

Noooodle 2023. 12. 28. 19:39
  • String: 자바의 문자열 자료형으로 Java.lang 패키지로 제공된다.

 

  • 선언 방법

        String str = "abc";                     // literal 방식

        String str = new String("abc");  // new 방식

 

  • String 수정 방법

        - String은 생성 후 대괄호를 이용한 인덱스값을 이용해 문자열 수정이 불가능함

        - C언어에서 arr[3] = 'a'; 이런식으로 수정이 불가

        - 단순히 한 문자만 읽을때는 CharAt 함수 사용

 

        ① 다시 초기화, 값 덮어씌우기

        ② toCharArray 함수 사용

        ③ subString 함수 사용

        ④ StringBuilder 를 사용

 

  • String 값 비교, '==' or 'equls'

        ① ==

            - 주소값 비교

            * 자바의 메모리 저장 방식: heap 사용

               - literal로 생성시 ①constant String Pool에 저장됨, 해당 문자열이 없으면 생성하고 가리킴, 있으면 그냥 가리킴

               - new로 생성시 ②(공백)에 저장됨, 문자열이 있든 없든 확인하지 않고 생성하고 가리킴

             

         ② equls

            - 실질적인 문자열 비교

         - ex)

String str1 = "test";
String str2 = "test";
str1 == str2 는 true // 주소값이 같다.
equls str1 str2 는 true // 문자열이 같다.

String str3 = new String("test");
String str4 = new String("test");
str3 == str4 는 false // 주소값이 다르다.
equls str3 str4 는 true // 문자열이 같다.

 

'코딩가딩가' 카테고리의 다른 글

[JAVA]BOJ 13223  (0) 2024.01.10
[JAVA]BOJ 1543  (0) 2024.01.04
[JAVA]BOJ 1157  (0) 2024.01.02
[JAVA]BOJ 1919  (0) 2024.01.01
[JAVA]BOJ 2744  (1) 2023.12.31