// 기본 문자셋(UTF-8)으로 byte 배열을 디코딩해서 String 객체로 생성
String str = new String(byte[] bytes);
// 특정 문자셋으로 디코딩
String str = new String(byte [] bytes, String charsetName)
String은 내부문자열을 수정할 수 없다. 아래와 같은 코드는 단지 두 문자열이 합쳐진 새로운 String 객체를 만들고 data는 새로 만들어진 객체를 참조하게 된다.
그래서 잦은 문자열 변경 작업을 해야한다면 Sting 보다는 StringBuilder가 효율적이다.
StringBuilder는 내부 버퍼에 문자열을 저장해두고 그 안에서 추가/수정/삭제 등의 작업을 하도록 설계되어 있다.
상황에 맞춰 여러 스레드 사이에서 문자열을 수정할 일이 있으면 String Buffer를 사용하고, 단일 스레드에서 문자열 수정은 String Builder를 사용한다
append(기본값|문자열) - 문자열을 끝에 추가insert(위치,기본값|문자열) - 문자열을 지정 위치에 추가delete(시작 위치, 끝 위치) - 문자열 일부를 삭제 replace(시작 위치, 끝 위치, 문자열) - 문자열 일부를 대체 toString() - 완성된 문자열을 리턴 Integer obj = 100; // boxing
int value = obj; // unboxing
int value = obj + 50; // 언박싱 후 연산
parse + 기본타입명으로 되어있는 정적 메소드가 있다. 이 메소드는 문자열을 해당 기본 타입값으로 변환한다. Integer obj1= 100;
Integer obj2= 100;
obj1 == obj2 // false
obj1.equals(obj2) // true