아이템 6 - 불필요한 객체 생성을 피하라
JAVA ·문자열 사용
- 사실상 동일한 객체라서 매번 새로 만들 필요가 없다.
- new String(“자바”)을 사용하지 말고 “자바”(문자열 리터럴)를 사용해 기존에 동일한 문자열을 재사용해라
- 문자열 리터럴을 사용하면 일반적으로 동일한 객체겠지만, 외부 API에서 받아오는 인스턴스라든지 예외가 있을 수 있기 때문에, equals로 비교하라.
#### 생성 비용이 비싼 객체는 반복해서 생성하기 보단 캐싱해서 재사용해라.
- 정규식, Pattern 인스턴스를 정적 초기화 과정에서 직접 생성해 캐싱해서 필요할 때마다 재사용해라.
- 메모리와 성능에 이점이 생긴다.
박싱된 기본 타입보다는 기본타입을 사용하고, 의도치 않게 오토박싱을 사용하지 말자.
- 기본 타입과 박싱된 기본 타입을 섞어서 사용하면 변환하는 과정에서 불필요한 객체가 생성될 수 있다.
- 성능 차이도 크다.
객체 생성은 비싸니 피하라는 말이 아니라 기존 객체를 재사용해야 한다면 새로운 객체를 만들지 마라.