반응형
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 : 가변객체로 동기화가 필요한 경우에 사용한다.(멀티쓰레드)
반응형
'Java' 카테고리의 다른 글
| [JAVA] Map, HashMap, TreeMap, LinkedHashMap 사용법 (0) | 2025.01.25 |
|---|---|
| [JAVA] 접근 제한자, 접근 지시자, public, private, protected, default (1) | 2025.01.24 |
| [JAVA] String 문자열 비교 (1) | 2025.01.23 |
| [JAVA] List 특징, 초기화, 함수 (1) | 2025.01.22 |
| [JAVA] String 배열 선언, 초기화, 함수 (1) | 2025.01.21 |