String 관련 개념
- String 변수명 = 문자 : 형식으로 구현하면 상수풀에서 관리되서 같은 문자면 주소값이 같다.
- new String(문자) 형식으로 같은 문자를 넣고 구현하면 힙객체에서 관리되서 선언할때마다 주소값이 다르다.
- 문자열 끼리 더하면 append 함수를 많이 사용하므로 성능에 좋지 않아 StringBuffer 버퍼를 사용해서 구현한다.
- StringBuffer 동기화를 지원하고 StringBuilder는 동기화를 지원 하지 않는다. 제공하는 메소드는 같다.
- 문자를열을 더할때 매번 String 인스턴스를 생성하는 방식에서 Jdk 1.5버전 부터는 컴파일단계에서 내부적으로 new StringBuilder()의 append함수를 통해 더한다.
public class stringTest {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "he";
String str3 = "llo";
String str4 = str2 + str3;
String str5 = "he" + "llo";
String str6 = "he" + "llo" + "hi";
if(str1 == str4){
System.out.println("str1 == str4");
}else{
System.out.println("str1 != str4");
}
if(str1 == str5){
System.out.println("str1 == str5");
}else{
System.out.println("str1 != str5");
}
if(str1 == str6){
System.out.println("str1 == str6");
}else{
System.out.println("str1 != str6");
}
StringBuffer sb = new StringBuffer();
sb.append("select id from test ");
sb.append("where name like '%kim%'");
String sql = sb.toString();
}
}
0 개의 댓글:
댓글 쓰기