StringBuffer
👏 도움
개념
StringBuffer는 문자열을 추가하거나 변경할 때 사용하는 자료형이다.
문자열을 작업중에 가공하기에 유용하다
■ append
append는 StringBuffer객체를 생성하며 문자열을 생성해준다.
//StringBuffer 객체 생성
StringBuffer sb = new StringBuffer();
//sb에 문자열 추가
sb.append("Hello");
sb.append(" ");
sb.append("World");
sb.append("!");
//합쳐진 문자열을 String객체에 대입
String str = sb.toString();
//출력
System.out.println(str);
출력: Hello World!
StringBuffer는 append메서드를 이용해서 문자열을 이어서 추가해 나갈 수 있다.
StringBuffer에 쌓인 문자열은 toString() 메서드를 사용하여 String자료형으로 출력하거나 변수에 추가해 줄 수 있다.
하지만 일반적인 String자료형으로도 문자열을 추가할 수 있다.
String str = "";
str += "Hello";
str += " ";
str += "World"'
str += "!";
System.out.println(str);
StringBuffer의 append사용과 String의 에 문자열을 단순히 추가해도 결과를 같게 나온다.
하지만 둘은 내부적으로 객체가 생성되고 메모리의 사용과정에서 차이가 난다
StringBuffer객체는 한번만생성된다. 하지만 String객체는 + 연산이 있을 때마다 새로운 String객체로 생성된다.
(문자열 간 + 연산이 발생하는 경우 자바는 새로운 String객체를 만들어 낸다)
하지만 그렇다고 StringBuffer를 사용이 무조건 좋은것은 아니다.
StringBuffer는 String보다 무거운편에 속한다. String을 사용하는 것 보다 메모리사용량도 많고 속도 또한 느리다.
따라서 작업을 하는 과정에서 문자열 추가,변경 작업이 많다면 StringBuffer, 그렇지 않다면 String을 사용하는것이 유리하다.
■ insert
insert는 지정한 위치에 원하는 문자열을 추가할 수 있다.
//insert("위치번호", "문자열")
StringBuffer sb = new StringBuffer();
sb.append(" World!");
sb.insert(0, "Hello");//0번째 위치에 Hello를 추가!
System.out.println(sb.toString());
■ substring
String자료형에 존재하는 substring과 같은동작을 한다
StringBuffer sb = new StringBuffer();
sb.append("Hello World!");
//substring("시작위치", "몇칸")
System.out.println(sb.substring(0, 2));//0번위치에서 2개를 자른다
출럭: He
'Java' 카테고리의 다른 글
[JSP] 절대경로 구하는법 (0) | 2020.12.19 |
---|---|
자바 환경변수 설정이 필요한 이유? (0) | 2020.08.06 |
JDBC(Java Database Connectivity) (0) | 2020.07.28 |
JSP (0) | 2020.05.12 |