Java 지식 축적 - String 인용의 판단 문제

1762 단어 String
다음 절차를 보시오
 1 public static void main(String[] args) {

 2       String a = new String("abc");

 3       String b = new String("abc");

 4       System.out.println(a == b);     

 5 

 6       String c = "abc";

 7       String d = "abc";

 8       System.out.println(c == d);

 9  

10       String e = "a";

11       String f = e + "b"+ "c";

12       System.out.println(f == "abc");

13 }

 
출력 결과:
false
true
false
 
첫 번째 그룹 비교에서 new 문장에서 만든 값이 같은 String 대상을 볼 수 있으며 인용이 같지 않습니다.
두 번째 그룹을 비교하면 c와 d는 모두 상수 abc를 가리키며 인용이 같다.
세 번째 그룹을 비교했을 때, 연결된 문자열은 별도로 만들어진 String 대상이며, 상수 abc의 인용과 다르다.

좋은 웹페이지 즐겨찾기