목록immutable (2)
개발 무지렁이

String은 상수이다. 한 번 만들어지면 값변경이 불가, immutable String str = "java"; str = "java2"; ❓ 위의 코드는 정상적으로 실행된다. WHY? 값변경을 하는게 아니라 새로운 객체가 만들어진다. 수정 전의 객체는 garbage collection이 일어난다. String str = new String("java"); String str = "java"; 는 축약표현이다. 사실은 '객체생성연산자(new)'를 통해 객체를 생성하는 것이다. ❗ 주의 new 키워드 없이 할당한 값이 이미 있으면 같은 주소를 저장한다. String str1 = "java"; String str2 = new String("java"); String str3 = "java"; str1 ==..

Arrays.asList 고정된 List로서 수정할 수 없다, immutable List list = Arrays.asList(new Article("제목1", "내용1"), new Article("제목2", "내용2")); list.add(new Article("제목3", "내용3)); // java.lang.UnsupportedOperationException new ArrayList 수정할 수 있다. mutable List list = new ArrayList(Arrays.asList(new Article("제목1", "내용1"), new Article("제목2", "내용2"))); list.add(new Article("제목3", "내용3));