시소당
1)
기본적인 방법
String.equals(String str) 에서 같으면 true, 다르면 false
대소문자를 무시하는 경우는
String.equalsIgnoreCase(String str)
2)
문자열 억제(string interning)를 통해서 "==" 으로 비교할 수도 있다
String str1 = "Too many ";
String str2 = "cooks";
String str3 = "Too many cooks";
이경우 원래대로라면 str1+str2 == str3 은 false 지만
str1 += str2;
str1 = str1.intern();
후에
str1 == str3 은 true
String.intern() 은 동일한 문자열 값을 가지는 String 변수가 존재하는 경우,
각 변수들이 하나의 문자열을 가르키도록 조정한다
따라서 같은 문자열이 많이 생성하는 경우 메모리를 절약할 수 있고
"==" 을 사용해서 문자열 값을 비교할 수 있게 된다
그러나 intern() 과정에서 전체 문자열을 equals() 함으로
문자열 억제로 확실히 효과가 크다고 판단되는 상황이 아니면 권장하지 않는다
3)
String.compreTo(String str) 을 이용
String 객체가 인자보다 작으면 음수, 같으면 0, 크면 양수를 리턴 한다
"catwoman" 과 "cat" 의 경우는 "catwoman" 이 크다