[JAVA] String 과 functions, String Buffer, String BuilderWeb_Backend/Java2024. 1. 12. 09:12
Table of Contents
오늘 수강한 강의 : 【한글자막】 완전 초보자를 위한 Java 프로그래밍 : 단기간에 Java 완벽 정복
오늘의 강의 정리 📗
String
- 자바에서 String은 참조형 타입
- 참조형이므로 실제 데이터가 아닌 메모리 내에서의 주소를 저장하며, 불변(immutable)성을 가지고 있음
- 즉, 한 번 생성된 문자열은 변경할 수 없음을 의미하며, 새로운 문자열이 필요할 때마다 새로운 객체를 생성
concat(String str)
- 현재 문자열에 인자로 전달된 문자열을 덧붙여 새로운 문자열을 반환
String str1 = "Hello";
String str2 = " World";
String result = str1.concat(str2);
// 결과: "Hello World"
replace(CharSequence target, CharSequence replacement)
- 지정된 문자열 또는 문자 시퀀스를 새로운 문자열로 대체
String original = "apple";
String replaced = original.replace("p", "P");
// 결과: "aPple"
join(CharSequence delimiter, CharSequence… elements)
- 문자열 배열을 지정된 구분자(delimiter)로 결합
String[] words = {"Java", "is", "fun"};
String joined = String.join(" ", words);
// 결과: "Java is fun"
contains(CharSequence sequence)
- 주어진 문자열이 현재 문자열에 포함되어 있는지 여부를 확인
String str = "Java Programming";
boolean containsJava = str.contains("Java");
// 결과: true
equals(Object another)
- 주어진 객체 또는 문자열과 현재 문자열을 비교
String str1 = "Java";
String str2 = "java";
boolean isEqual = str1.equals(str2);
// 결과: false
equalsIgnoreCase(String another)
- 주어진 객체 또는 문자열과 현재 문자열을 비교(대소문자를 무시)
String str1 = "Java";
String str2 = "java";
boolean isEqual = str1.equalsIgnoreCase(str2);
// 결과: true
split(String regex)
- 주어진 정규 표현식을 기준으로 문자열을 분할하고, 문자열 배열로 반환합니다.
String sentence = "Java is fun!";
String[] words = sentence.split(" ");
// 결과: ["Java", "is", "fun!"]
trim()
- 문자열의 앞뒤에 있는 공백을 제거
String str = " Hello, World! ";
String trimmedStr = str.trim();
// 결과: "Hello, World!"
String, String Buffer, String Builder
String
- 불변(Immutable)
- 따라서, 문자열 수정 시 새로운 객체를 생성하므로 메모리 사용이 더 많음
String Buffer
- 가변(Mutable)
- 문자열을 수정할 때 사용
- 스레드에 안전한 동기화된 메소드를 제공
String Builder
- 가변(Mutable)
- 문자열을 수정할 때 사용
- 동기화를 지원하지 않음(단일 스레드 환경에서 성능이 더 우수)
toString()
- String Buffer, String Builder를 String으로 반환
StringBuilder builder = new StringBuilder("Hello");
builder.append(", ").append("World");
String result1 = builder.toString();
StringBuffer buffer = new StringBuffer("Hello");
buffer.append(", ").append("World");
String result2 = buffer.toString();
비교 및 선택 가이드:
- 단일 스레드 환경:
StringBuilder
를 사용하여 성능을 최적화 - 멀티스레드 환경:
StringBuffer
를 사용하여 스레드 안정성을 보장 - 불변성이 필요한 경우:
String
을 사용하여 안정성을 확보
'Web_Backend > Java' 카테고리의 다른 글
@Yanako :: Yana's coding story
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!