Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[Java] Immutable Object(불변객체) String과 StringBuilder 본문
String은 상수이다.
String str = "java";
str = "java2";
값변경을 하는게 아니라 새로운 객체가 만들어진다.
수정 전의 객체는 garbage collection이 일어난다.
String str = new String("java");
사실은 '객체생성연산자(new)'를 통해 객체를 생성하는 것이다.
new 키워드 없이 할당한 값이 이미 있으면 같은 주소를 저장한다.
String str1 = "java";
String str2 = new String("java");
String str3 = "java";
str1 == str2 -- (x)
str1 == str3 -- (o) // 단, 주소가 같다는 것이지 문자열자체를 비교해서 같다는 것은 아니다.
(⚠️ String의 문자열자체의 비교는 equals() 메서드를 이용한다.)
StringBuilder
(문자열을 지속적으로 변경해야하는 상황)
StringBuilder builder = new StringBuilder();
builder.append("java");
builder.append(" script");
System.out.println(builder.toString());
'Backend > 자바' 카테고리의 다른 글
[Java] 인터페이스와 구현객체, Collections (0) | 2023.04.09 |
---|---|
[Java] 기타제한자 static / final / abstract (0) | 2023.04.08 |
[Java] 상속관계와 Polymophism, 오버라이딩(Overriding) (0) | 2023.03.13 |
[Java] 정보은닉과 Getter, Setter (0) | 2023.03.13 |
[Java] GregorianCalender()와 아규먼트 인덱스 (0) | 2023.03.12 |