반응형
String class
final로 되어있어 실제로는 내용을 변경할 수 없다.
- 여기서 a의 값은 a + b가 되어 교체된 것처럼 보인다.
- 하지만 a의 주소와 함께 새로운 값을 연결한 것일 뿐,
a 값은 사라지지 않는다. - 따라서 덧셈(+)을 이용한 문자열 결합은 성능이 떨어진다.
※ 참고
클린코드에서는 StringBuffer를 비추천한다.
하지만 성능으로 보면 StringBuffer가 낫다.
new String()
- 마찬가지로 new String도 더 메모리를 차지하기에 권장하지 않는다.
문자열 비교는 equals()
- str1, 2, 3, 4의 값은 모두 "abc"입니다.
- 하지만 결과는 다릅니다.
- 이유는 비교연산자 == 는 주소값이 같은 지 확인하기 때문입니다.
- equals는 주소가 아닌 실제값을 비교합니다.
- new를 사용하면 새로운 주소를 가지기 때문입니다.
- 따라서 문자열을 비교할 때는 실제 값을 비교하는 equals를 사용해야만 합니다.
빈 문자열 ""
크기가 0
- 크기가 0이어도 int→String으로 변환한다든 지 유용하게 사용 가능.
※ 빈 문자열 선언 시 권장코드
반응형
'☕ 자바 JAVA > ☕ 변수와 자료형 Variables & Data Type' 카테고리의 다른 글
[JAVA]Autoboxing & Unboxing (0) | 2024.11.12 |
---|---|
[JAVa]Wrapper 래퍼클래스&형변환(+진법변환) (0) | 2024.11.11 |
[JAVA]class를 List/Map으로 만들기 (0) | 2024.10.28 |
[JAVA]new ArrayList<>와 new ArrayList<Integer>()의 차이 (0) | 2024.10.28 |
[JAVA]class를 array [ ]로 만들기 (0) | 2024.10.27 |