Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- sequelize
- Spring #Java #Spring Boot
- Spring
- kakaocloudschool
- 11054
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
- 11053
- 카카오클라우드스쿨
- 코딩테스트
- Spring #Spring Boot #Java
- 백준
- 알고리즘
- 7568
- Java #백준 #코딩테스트
- node
- 15552
- 2447
- boj
- Spring #Java #Spring Boot #싱글톤
- Java #코딩테스트
- kakaocloud
- 1110
- 24479
- 9020
- SpringTokenizer
- 카카오 클라우드 스쿨
- 파이썬
- python
- Java #오븐시계 #백준
- java
Archives
- Today
- Total
YoungSoo
StringBuffer와 StringBuilder이란? 본문
코딩 테스트를 공부하다가 StringBuilder와 StringBuffer를 많이 사용하는 것을 보았고 왜 사용하는지 문뜩
궁금해졌다.
자바에서는 문자열을 사용할 때 대부분 String 타입을 사용한다. 하지만 String을 제외하고도 StringBuffer와
StringBuilder이 있다. String을 합칠 땐 string + string을 해서 문자열을 붙인다.
하지만 이런 방식으로 문자열을 붙일 경우 메모리 할당과 메모리 해제를 발생시켜 속도가 느려져 좋지 않다고
한다. 그래서 StringBuffer와 StringBuilder를 사용한다.
먼저 멀티 쓰레드 환경에서는 StringBuffer를 사용하는 것이 안전한데 그 이유는 공통 메소드가 동기화되기
때문이다. 이외에는 StringBuilder를 사용해주면 된다.
주요 메소드로는 append(), insert(), delete(), indexof(), substring(), length(), replace() 등이 있다.
c.append(a); //뒤에 a추가
c.insert(0, a); //0에 a삽입
c.delete(0, 1); //0~1까지 삭제
c.substring(0, 3); //0~3까지 잘라내기
c.indexOf(c.toString()); //c.toString()이 어디에 있는지 확인
c.length(); //길이
c.replace(0, 3, c.toString()); //0~3까지 c.toString()으로 변경
c.reverse(); //역순으로 정렬
'BE > Java' 카테고리의 다른 글
[JAVA] StringTokenizer이란? (0) | 2022.07.22 |
---|---|
[JAVA] HashSet이란? (0) | 2022.07.21 |