본문 바로가기

JAVA/JAVA

자바 String 보다는 StringBuffer를 써야하는 좋은 예제

반응형

String 보다는 StringBuffer를 써야하는 좋은 예제


<순서>

1. String 문 예제

2. StringBuffer 문 예제

3. StringBuffer 를 이용한 문자열 바꾸기

4. StringBuffer 를 이용한 문자열 뒤집기

5. StringBuffer 와 String의 replace 차이


String 문

class StringBufferTest02 {

public static void main(String[] args) {

// 문자열 데이터가 계속해서 변경 되어야 할 경우에는 String 보다는 

// StringBuffer를 사용하기를 권장


String sql = "insert into member";

sql += "values";

sql += "(";

sql += "'tiger', ";

sql += "'1234', ";

sql += "'홍길동', ";

sql += "'20', ";

sql += ")";


System.out.println(sql);

}

}



StringBuffer 문

class StringBufferTest03 {

public static void main(String[] args) {

// 문자열 데이터가 계속해서 변경 되어야 할 경우에는 String 보다는 StringBuffer를 사용하기를 권장


StringBuffer sb = new StringBuffer("insert into member");


sb.append("values");

sb.append("(");

sb.append("tiger");

sb.append("1234");

sb.append("홍길동");

sb.append("20");

sb.append(")");


System.out.println(sb);

}

}



StringBuffer 를 이용한 문자열 바꾸기

: replace 사용하여 바꿔준다


class StringBufferTest04 {

public static void main(String[] args) {

StringBuffer sb = new StringBuffer("Hello Korea");

//"korea"문자열을 "java"문자열로 변경하고자 한다.


sb.replace(6,11,"java");

System.out.println(sb);

}

}

** 마지막 값은 subString 처럼 -1 해준다



StringBuffer 를 이용한 문자열 뒤집기

: reverse를 이용해 바꾼다


class StringBufferTest05 {

public static void main(String[] args) {

StringBuffer sb = new StringBuffer("Hello Korea");

//"korea"문자열을 "java"문자열로 변경하고자 한다.


sb.reverse();

System.out.println(sb);

}

}



StringBuffer 와 String의 replace 차이


class ReplaceTest {

public static void main(String[] args) {

String str = new String("hello java");

StringBuffer sb = new StringBuffer("hello java");


sb.replace(0,1,"H");

String str2 = str.replace('h','H');


System.out.println(sb);

System.out.println(str);

System.out.println(str2);

}

}


** StringBuffer는 sb 자체가 바뀌지만 String은 변동이 없고 바뀐 새로운 문자열을 만드는 것임

원래 str이 참조하던 메모리는 쓰레기가 됨..



반응형