코딩알파
[Java] String 타입 기초부터 알아보기 본문
728x90
String은 문자열을 변수에 저장하기 위한 데이터 타입.
|
String 변수 = "문자열" ;
|
cs |
문자열은 String 객체로 생성되고 변수는 String 객체를 참조하다.
하지만 일반적으로 변수에 저장한다는 표현을 사용한다.
|
String a1= "자바" ;
String a2= "자바" ;
|
cs |
동일한 객체를 참조하고 있어 둘을 비교할시 true가 나온다.
여기서 new 연산자를 사용해서 String 객체를 생성시킬 수 있다.
new 연산자는 힙 영역에서 새로운 객체를 만들 때 사용하는 연산자다.
|
String a1 = new String("자바");
String a2 = new String("자바");
|
cs |
서로 다른 객체를 참조하기에 둘을 비교할때 false가 나온다.
String a1= "자바" ;
String a2= "자바" ;
String a3 = new String("자바");
|
cs |
a1 == a2를 비교할 때 같은 객체를 참조하기 때문에 true가 나오고 a1 == a3는 서로 다른 객체를 참조가 하기 때문에 false가 나온다. 마찬가지로 a2 == a3 결괏값은 false이다.
동일한 String 객체이던지 아니던지 상관없이 문자열 자체만 비교하는 건 String 객체의 equals() 메서드를 사용한다.
equals() 메서드는 원본 문자열과 매개값으로 주어진 비교 문자열이 동일한지 비교 후 true 또는 false를 나타낸다.
public class ttts {
public static void main(String[] args) {
String a1= "자바";
String a2= "자바";
if(a1==a2) {
System.out.println("참조가 같다.");
}else {
System.out.println("참조가 다르다.");
}
if(a1.equals(a2)) {
System.out.println("a1 a2 는 문자열이 같다.");
}
String a3 = new String("자바");
String a4 = new String("자바");
if(a3==a4) {
System.out.println("참조가 같다.");
}else {
System.out.println("참조가 다르다.");
}
if(a3.equals(a4)) {
System.out.println("a3 a4는 문자열이 같다. ");
}
}
}
|
cs |
|
참조가 같다.
a1 a2 는 문자열이 같다.
참조가 다르다.
a3 a4는 문자열이 같다.
|
cs |
equals 메소드는 문자열 자체로만 비교하기 때문에 참조가 달라도 된다.
728x90
'JAVA공부' 카테고리의 다른 글
[Java] for문 별 피라미드 만들기 (이중for문) (0) | 2021.09.29 |
---|---|
[Java] 배열 기초부터 알아보기 (0) | 2021.09.28 |
[Java] while문 do-while문 반복문 알아보기(break, continue) (0) | 2021.09.19 |
[Java] for문 반복문알아보기 (0) | 2021.09.19 |
[Java] 가위,바위,보 게임만들기 승,패 정하기 (0) | 2021.09.16 |
Comments