티스토리 뷰

Java

String 비교

살구르 2017. 1. 11. 17:10

1. String 비교 시 두 가지 방법의 차이점 

1) ==

 참조값을 비교

2) .equals

 참조값이 가리키는 곳의 문자열 내용을 비교

 

2. String Pool 개념

 String의 경우, Heap의 특정 영역인 String Pool이라는 곳에 따로 보관되어 있음

 

3. String의 생성 방법 2가지

1) String s = "abc";

 String Pool에서 "abc"가 있는지 확인, 있는 경우 해당 참조값을 반환

 없는 경우, String Pool에 새로 할당하여 "abc"를 저장하고 해당 참조값을 반환

 

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

 기존 String Pool에 해당 문자열이 있는지 여부와 상관 없이 무조건 새로운 공간에 메모리를 할당하고 해당 문자열을 저장한 뒤, 참조값을 반환

 

ex)

 String s1 = "hi";

 String s2 = "hi";

 String s3 = new String("hi");

 String s4 = new String("hi");

 if(s1==s2) System.out.println("1 같다.");

 if(s2==s3) System.out.println("2 같다.");

 if(s1==s3) System.out.println("3 같다.");

 if(s1.equals(s2)) System.out.println("4 같다.");

 if(s1.equals(s3)) System.out.println("5 같다.");

 if(s2.equals(s3)) System.out.println("6 같다.");

 if(s3==s4) System.out.println("7 같다.");

 

 

답) 1, 4, 5, 6

'Java' 카테고리의 다른 글

instanceof 연산자  (0) 2017.01.12
String 메서드  (0) 2017.01.12
다형성(Polymorphism)  (0) 2017.01.11
문자열의 Call by Value 개념  (0) 2017.01.11
C, Java의 메모리 구조  (0) 2017.01.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함