[Java] String,StringBuffer,StringBuffer
String
-
연산이나 concat할 때 새로운 String객체를 만든다.(new)
-
String의 길이를 구할 때
length()
를 사용한다.
String s = "abcdefghi";
System.out.println(s.length()); // length : 10
System.out.println(newStr.charAt(newStr.length()-1)); // 마지막글자 = i
StringBuffer
- StringBuffer : 멀티 쓰레드 환경에서는 synchronized(동기화)
StringBuilder
- StringBuilder : ansynchronized 싱글 쓰레드 환경
append()
- 문자열 데이터 끝에 문자의 형태로 추가
insert()
-
첫번째 인자로 삽입될 위치 (0이 맨 앞을 의미 문자가 삽입될 위치), 두번째 인자 삽입될 문자
-
2 자리에 삽입된다면, 2자리 있던 것이 뒤로 밀린다.
예시 : 8F3Z-2e-9-wfj을 8F-3Z2E-9WFJ로 바꾸기
String S = "8F3Z-2e-9-wfj";
String newStr = S.replace("-",""); // - 없애기
newStr = newStr.toUpperCase(); // 대문자로 바꾸기
StringBuilder sb = new StringBuilder(); // StringBuilder 생성
// append 예시
for(int i = 0; i < newStr.length(); i++) {
sb.append(newStr.charAt(i)); // StringBuilder에 추가하기
}
int len = sb.toString().length();
// insert예시
for(int i = K; i < len ; i = i + K) {
sb.insert(len - i,'-');
}