<String>
- new 생략 가능하다.
- new를 이용할 경우 heap 공간이 생성되지만 new를 생략하고 String을 사용할 경우 StringConstant(상수)Pool이 생성된다.
- 문자열이 계속 축적되는 경우에는 new로 heap을 생성해주는게 좋다.
<StringConstantPool>
- 다른 언어에는 없고 Java에만 있는 기능이다.
- String s ="나무"; / String s2 = "나무"; / s= s+ "안녕" 의 경우
1,2번 값이 같기 때문에 같은 주소값으로 해당 공간에 들어간다.
3번 값은 나무 + 안녕으로 생성된 공간안에 추가로 해당 값이 생성된다.
이후 사용하지 않거나 동일한 문자열이 추가될 경우 값이 지속적으로 생성, 소멸된다.
- 동일한 문자열을 하나의 공간에 넣을 수 있는 것이 장점이다.
<equals>
- ==로 비교했을 때 값이 동일하면 탐색종료
- == 으로 비교했을 때 동일하지 않는 경우 해당 주소에 접근해서 실제 값을 비교해서 검사한다.
- 문자열을 비교할때 사용한다.
- String의 경우 equals로 검사해야 안전하다.
- 둘 중 하나가 참인 경우 true
'Java programing > 프로그래밍 언어 활용' 카테고리의 다른 글
Java - this, 행동 (0) | 2020.03.27 |
---|---|
Java - 객체지향프로그램 (클래스와 객체), 생성자 (0) | 2020.03.27 |
Java - for문을 이용해 직각삼각형 만들기 (0) | 2020.03.23 |
Java - 표현식 , 구구단 만들기 (0) | 2020.03.23 |
Java - Call by value passing / Call by reference passing (0) | 2020.03.23 |