5월 2일 내용정리
1.String은 객체에 포함된 문자열은 수정 불가
수정이 가능하나, 수정하는 개념이 아니라 내부적으로 수정된문자열객체를 새로 생성을 하고 그전에 수정전객체는 주소연결을 끊고,수정된 주소값을 새로 잇는다.
자주수정하는 용도로 String타입은 맞지 않다.
2.위와같은 단점을 보완하기위해서 변경될수 있는 문자열을 다룰수 있게 StringBuffer 와 StringBuilder를 이용한다.
StringBuffer 와 StringBuilder는 기본 16개의 문자를 저장
StringBuffer 와 StringBuilder 추가시 객체명.append(추가내용); 로 추가해준다.
3.compareTo()메서드
"aaa".compareTo("aaa") 0반환
"aaa".compareTo("bbb") -1반환
"bbb".compareTo("aaa") +1반환
4.String str ="dog, cat, bear";
String [] arr=str.split('/'); -> "dog/ cat/ bear"
5.String str ="dog, cat, bear";
String str1=String.join('-',arr) -> "dog-cat-bear"
6.trim()->문자열 공백을 제거
package study_0502;
public class StringBufferTest {
public static void main(String[] args) {
String s =new String("hi");
System.out.println(s.hashCode());
s=s+"!";
System.out.println(s.hashCode());
StringBuilder sb = new StringBuilder("hi");
System.out.println(sb.hashCode());
sb=sb.append("!");
System.out.println(sb.hashCode());
System.out.println(sb.replace(0, 2, "bye").insert(0, "java, "));
}
}