Java

[JAVA] String 특징, 초기화, 함수, StringBuilder, StringBuffer

촙오 개발자 2025. 1. 20. 22:10
반응형

String

 

String은 문자를 나열한 데이터 타입이며 클래스로 정의되어있습니다.

 

1. 특징

  • 불변성

String은 불변객체입니다. 따라서 객체가 생성되면 그 내용을 변경할 수 없습니다.

String str = "Hello";
str = str + " World"; // 새로운 객체 생성

 

2. 초기화

String은 리터럴로 초기화 하는 방법과 new를 이용하여 초기화 할수 있습니다.

String str1 = "Hello"; //리터럴을 이용하여 초기화
String str2 = new String("Hello"); //new를 이용하여 초기화

 

3. 함수

String 클래스는 다양한 함수를 제공합니다.

 

  • 문자열 길이 확인
String str = "Hello";

System.out.println(str.length()); // 5

 

  • 문자 비교
String str1 = "Hello";
String str2 = "hello";
String str3 = "Hello";

System.out.println(str1.equals(str2)) // false
System.out.println(str1.equals(str3)) // true
System.out.println(str1.equalsIgnoreCase(str2)) // true

 

  • 문자열 자르기
String str = "Hello";

// 0 : H
// 1 : e
// 2 : l
// 3 : l
// 4 : o

System.out.println(str.substring(0,2)); //He

 

  • 문자열 검색
String str = "Hello";

// 0 : H
// 1 : e
// 2 : l
// 3 : l
// 4 : o

System.out.println(str.indexOf("e")); // 1​

 

  • 문자열 치환
String str = "Hello";

System.out.println(str.replace("H", "h")); //hello

 

4. String vs StringBuilder vs StringBuffer

  • String : 불변객체이므로 문자열 연산이 많을 경우 성능이 떨어질 수 있다.
  • StringBuilder : 가변객체로 동기화가 필요 없는 경우에 사용한다.
  • StringBuffer : 가변객체로 동기화가 필요한 경우에 사용한다.(멀티쓰레드)
반응형