String 타입
자바는 문자열을 String 변수에 저장한다.
String 변수; 변수 = "문자열"; |
▽ 변수 선언과 동시에 문자열 저장하기
String 변수 = "문자열"; |
▽자바는 문자열 리터럴이 동일 하다면 String 객체를 공유하도록 되어있다
다음과 같이 name1과 name2변수가 동일한 문자열을 사용하면 name1과 name2는 동일한 String객체를 참조하게 된다.
String name1 = "유정뱅이"; String name2 = "유정뱅이"; |
name1 == name2 의 연산 결과는 true가 나온다.
▽new연산자를 사용한 String 객체 생성
String name1 = new String("유정뱅이"); String name2 = new String("유정뱅이"); |
name1 == name2 의 연산 결과는 false가 나온다. ( == 연산자는 변수에 저장된 객체 번지가 동일한지를 검사한다.)
boolean result = str1.equals(str2); //str1 = 원본 문자열 , str2 = 비교 문자열 |
String 객체이건 다른 String 객체이건 상관없이 문자열만을 비교한때에는 String 객체의 equals()메소드를 사용해야한다.
equals()메소드는 원본 문자열과 매개값으롤 주어진 비교 문자열이 동일한지 비교한 후 true 또는 false를 리턴한다.
String name1 = null; |
String 변수는 참조 타입이므로 초기값으로 null을 대입할 수 있다. null은 String변수가 참조하는 String객체가 없다는 뜻이다.
String name1 = "유정뱅이"; name1 = null; |
name1변수가 String객체를 참조하였으나, null을 대입함으로써 더 이상 String객체를 참조하지 않도록 할 수도 있다.
참조를 잃은 String객체는 어떻게 될까? JVM은 참조 되지 않은 객체를 쓰레기 취급하고 쓰레기 수집기(Gabage Collector)를 구동시켜 메모리에서 자동 제거한다.
'프로그래밍 > JAVA' 카테고리의 다른 글
[html,css,js]동적으로 테이블 만들기 (0) | 2018.10.21 |
---|---|
[JAVA] final (1) | 2018.08.20 |
[JAVA]상속-부모클래스, 자식클래스 (5) | 2018.08.18 |
[JAVA]this 레퍼런스 (2) | 2018.08.17 |
[JAVA]접근 지정자를 알아보자! (2) | 2018.08.17 |