[String 타입]
: 자바는 문자열을 String변수에 저장하기 때문에 다음과 같이 String 변수를 우선적으로 선언해야 합니다.
ex) String 변수;
이제 변수에 문자열을 저장하려면 큰 따옴표로 감싼 문자열 리터럴을 대입하면 됩니다.
ex) 변수 = "문자열";
==> String 변수 = "문자열"; 과 같이 선언과 동시에 저장할 수 있습니다.
( 단, 문자열이 직접 변수에 저장되는 것이 아니라, 문자열은 String 객체로 생성되고 변수는 String 객체를 참조하는 것입니다만 일반적으로 표현할 때에는 String 변수에 저장한다는 표현으로 사용합니다. )
String 관련하여 예시를 하나 들겠습니다.
String name1 = "최진우";
String name2 = "최진우";
String name3 = new String("최진우");
이때, if조건문을 이용하여 비교를 한다고 가정할 때,
name1 == name2 -> true
name1 == name3 -> false
name1.equals(name3) -> true
가 됩니다.
그 이유로는 == 라는 연산자는 변수에 저장된 객체 번지가 동일한지를 검사합니다.
name1과 name2는 동일한 문자열 리터럴로 생성된 객체를 참조하므로 결과가 true가 나옵니다.
그러나 name3은 new 연산자로 String 객체를 별도로 생성했기 때문에 name1 == name3은 false가 나오게 되는 것입니다.
동일한 String 객체이건, 다른 String 객체이건 문자열만을 비교할 때에는 String객체의 equals()메소드를 사용해야 합니다.
equals() 메소드는 원본 문자열과 매개값으로 주어진 비교 문자열이 동일한 지 비교한 후 true또는 false를 리턴합니다.
'Programming > JAVA' 카테고리의 다른 글
Java - (5) 객체란? 객체 지향 프로그래밍의 특징 (0) | 2016.05.04 |
---|---|
Java - (4) Array Type (배열 타입) (0) | 2016.05.04 |
Java - (2) 데이터타입(Data Type) (0) | 2016.05.04 |
Java - (1) Java언어의 특징 (0) | 2016.05.04 |
Java(Data Structure) - List, Set, Map (0) | 2016.04.22 |
WRITTEN BY