Java에서 두 문자열 비교 - equals() 및 equalsIgnoreCase()
가장 먼저 떠오르는 것은 "==" 하지만 완전히 잘못되었습니다. Java로 프로그래밍을 시작했을 때 두 문자열을 "=="와 비교했는데, 이는 객체의 동등성을 테스트하지만 두 문자열, 두 문자 사이에는 테스트하지 않습니다. C++와 달리 Java 디자이너는 객체 지향적이기 때문에 언어를 단순화하기 위해 String 클래스에 메소드를 만들었습니다.Comparing String with the equals
class String의 equals() 메서드는 java 또는 변수 내용의 값의 같음을 테스트하고 true 두 문자열에 동일한 문자가 포함된 경우 예를 들면 다음과 같습니다.
String s1="str";equals()는 대소문자를 구분합니다(소문자 또는 대문자):
문자열 s2="str";
if(s1.equals(s2))
System.out.println("두 문자열이 모두 동일함");
String s1="str";이 경우 false.
문자열 s2="STR";
if(s1.equals(s2))
System.out.println("두 문자열이 모두 동일함");
Ignore 대문자를 equalsIgnoreCase()
equalsIgnoreCase() 메서드는 String을 소문자에서 대문자로 전달하는 것을 피하고 equals()와 비교합니다. Java는 문자를 소문자로 변환하고 두 문자열을 비교하는 equalsIgnoreCase() 메서드를 제공합니다.
< br />
< br />
String s1="str";
문자열 s2="STR";
if(s1.equalsIgnoreCase(s2))
System.out.println("무시된 대/소문자 민감도. 두 문자열이 동일합니다.");
Size comparison
String 클래스에는 문자열의 길이를 반환하는 length() 메서드가 있습니다.
if("string1".length()=="string2".length())
System.out.println("string1 및 string2 크기가 같음");
else if("string1".length()>" string2".length())
System.out.println("string1이 더 깁니다.");
else
System.out.println("string2가 더 깁니다.");
equals와 "=="의 차이점은 무엇입니까
equals() 메서드는 값의 동등성을 테스트합니다.
new String("test").equals(new String("test"));//--> true"==" 연산자는 객체의 동등성을 테스트하며, 피해야 할 일련의 오류는 다음과 같습니다.
String s1="trial";연결은 런타임에 호출되는 substring()과 replace()와 달리 컴파일 중에 호출되기 때문에 true를 반환하고 수식의 다른 쪽과 같지 않은 새 객체가 만들어집니다.
String s2="평가판";
//같은 객체입니다
s1==s2; --> false
//같은 객체가 아닙니다
s1 == "test"; --> false
//같은 객체를 참조합니다
"test" == "test"; --> true
//연결은 단일 객체로 간주됩니다
"test" == "your"+"t"; --> true
//substring() 메서드는 새로운 객체를 생성합니다
"test" == "1test".substring(1); --> false
//replace() 메서드는 새 객체를 생성합니다
"test" == "Test".replace("T", "t"); --> false