- 리터럴 사용한 방식
- new 연산자 이용한 방식
변수 선언시 new 키워드를 사용하는 것과 그냥 선언하는 것의 차이는 무엇일까요 ?
✍️ new 연산자 VS Literal 방식
a=10
일때 10이라는 것은 변하지 않는 고정적인 값으로, 리터럴이라고 부름new 키워드 사용하기
String one = new String("example");
String two = new String("example");
리터럴 방식 사용
String one = "apple";
String two = "apple";
-> 이렇게 new
를 사용하게 되면 one과 two는 다른 주소를 할당 받고, 리터럴 방식
을 사용한 경우, 두 변수의 메모리 주소 값이 동일하게 나온다.
위의 변수 할당 방식에 따라 데이터 비교 방식과 결과가 달라진다.
public class cmp {
public static void main(String[] args) {
String str1 = "hyeons";
String str2 = new String("hyeons");
if(str1 == str2) {
System.out.println("두개의 값이 같음.");
} else {
System.out.println("두개의 값이 같지 않음.");
}
if(str1.equals(str2)) {
System.out.println("두개의 값이 같음.");
} else {
System.out.println("두개의 값이 같지 않음.");
}
}
}