A. StringBuffer 안에 쓸 수 있는 많이 쓰는 메소드
1) append()
받아온 값을 뒤에 추가로 이어주는 메소드
// append()
// 받아온 값을 뒤에 추가로 이어주는 메소드
buffer3.append("abc"); // 결과값 abcabc
System.out.println(buffer3);
System.out.println("buffer3의 실주소값 : " +System.identityHashCode(buffer3)); // append 추가후에도 주소값 같음
// ->수정 후에도 buffer가변클래스인걸 알 수 있음
*이중 append()
// 2) append() 반환값 : Stringbuffer
buffer3.append("abc").append("def"); // 메소드 체이닝
System.out.println(buffer3); // 결과값 abcabcdef
System.out.println("abc, def 추가 후의 buffer3의 수용량 : " +buffer3.capacity()); // 수용량 단위는 character 한문자이므로 기본용량16에 abc 세글자를 +3해서 19
System.out.println("abc, def 추가 후의 buffer3에 들어있는 실제 값의 길이 : " +buffer3.length()+"\\n"); // StringBuffer 생성자에 들어간 문자열 abc 길이3
2) insert()
원하는 자리에 값 추가 시킬 수 있는 메소드
// 원하는 자리에 값 추가 시킬 수 있는 메소드
buffer3.insert(2,"zzz");
System.out.println("인덱스2에 추가 후의 buffer3 : "+buffer3+"\\n"); // abzzzcabcdef
3) delete()
데이터 삭제하는 메소드
delete(int start, int end) : StringBuffer deleteCharAt(int index) : StringBuffer
// 데이터 삭제하는 메소드
// delete(int start, int end) : StringBuffer
// deleteCharAt(int index) : StringBuffer
buffer3.delete(2, 5); // zzz 삭제. 마지막 인덱스 미포함.
System.out.println("삭제 후의 buffer3 : "+buffer3); // delete(2, 5-1) // (start, end-1)
buffer3.deleteCharAt(2);
System.out.println("삭제 후의 buffer3 : "+buffer3+"\\n"); //
4)reverse()
앞뒤 거꾸로 값을 바꿔놓는 메소드
buffer3.reverse(); // zzz 삭제. 마지막 인덱스 미포함.
System.out.println("reverse의 buffer3 : "+buffer3); //
StringBuilder sb = new StringBuilder("abc");
sb.append("zzz").insert(2,"yy").reverse().delete(1,3);
// abc + zzz -> abyyczzz -> zzzcyyba -> zcyyba
B. String 안에 쓸 수 있는 많이 쓰는 메소드
1)charAt ()
charAt (int index):char 해당 문자열의 index번째 문자를 char로 변환
2)concat()
concat(String str):String String concatStr = str.concat("!!!"); System.out.println("concatStr : "+concatStr)
concat(String str):String 원래 문자열 끝에 매개변수로 들어온 값을 이어붙인 문자열 반환
String concatStr = str.concat("!!!");
System.out.println("concatStr : "+concatStr);
str += "!!!"; // concat과 같은 역할 : +
System.out.println(str);
3)equals()
equals(Object anObject):boolean
문자열이 같은지 확인
System.out.println("concatStr.equals(str) : "+concatStr.equals(str));
// 결과값 : concatStr.equals(str) : true
4)substring()
substring(int beginIndex):String
해당 인덱스 넘버부터 문자열 시작
substring(int beginIndex, int endIndex):String
A to B 사이의 문자열 일부 반환
System.out.println("str.substring(6) : "+str.substring(6));
// 결과값 : str.substring(6) : world!!!
str.substring(0,4) : Hell
// 결과값 : str.substring(0,4) : Hell
5)replace()
replace(char oldChar, char newChar):String
기존 문자를 새로운 문자로 대체하여 반환
System.out.println("str.replace('l','e') : "+str.replace('l', 'e'));
// 결과값 : str.replace('l','e') : Heeeo wored!!!
6)toUpperCase() & toLowerCase()
toUpperCase():String toLowerCase():String
문자열을 대/소문자로 변형 후 반환
System.out.println("str.toUpperCase() : "+str.toUpperCase());
System.out.println("str.toLowerCase() : "+str.toLowerCase());
// 결과값 : str.toUpperCase() : HELLO WORLD!!!
// 결과값 : str.toLowerCase() : hello world!!!
7)equalsIgnoreCase()
equalsIgnoreCase(String anotherString):boolean 대문자는 무시하고 비교
String str2 = "Wonderful";
String str3 = "wonderful";
System.out.println(str2.equals(str3)); // 결과값 : false
System.out.println(str2.equalsIgnoreCase(str3));// 결과값 : true
8)trim()
trim():String
앞 뒤에 있는 빈 공간을 제거한 문자열 반환
String str4 = " Java";
String str5 = " Java ";
String str6 = "Java ";
System.out.println(str4+" : "+str4.trim());
System.out.println(str5+" : "+str5.trim());
System.out.println(str6+" : "+str6.trim());
// 결과값
/*
Java : Java
Java : Java
Java : Java
*./
9)split()
split(String str):String[]
전달받은 구분자를 통해 문자열을 잘라 String[]반환
String splitStr = "Java, Oracle, JDBC, Front, Server, Framework";
String[] strArr = splitStr.split(", "); // 공백도 나누는 기준인걸 잊지마
for(int i=0; i < strArr.length; i++) {
System.out.println(strArr[i]); //
/* 결과값
Java
Oracle
JDBC
Front
Server
Framework
*/