SSISO Community

시소당

[java] 문자열 비교

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"  이  크다

698 view

4.0 stars