Java에서 두 문자열 비교 - equals() 및 equalsIgnoreCase()

가장 먼저 떠오르는 것은 "==" 하지만 완전히 잘못되었습니다. Java로 프로그래밍을 시작했을 때 두 문자열을 "=="와 비교했는데, 이는 객체의 동등성을 테스트하지만 두 문자열, 두 문자 사이에는 테스트하지 않습니다. C++와 달리   Java 디자이너는 객체 지향적이기 때문에 언어를 단순화하기 위해 String 클래스에 메소드를 만들었습니다.

Comparing String with the equals

class String의 equals() 메서드는 java 또는 변수 내용의 값의 같음을 테스트하고 true 두 문자열에 동일한 문자가 포함된 경우 예를 들면 다음과 같습니다.

String s1="str"; 
문자열 s2="str";
if(s1.equals(s2))
System.out.println("두 문자열이 모두 동일함");
equals()는 대소문자를 구분합니다(소문자 또는 대문자):

String s1="str"; 
문자열 s2="STR";
if(s1.equals(s2))
System.out.println("두 문자열이 모두 동일함");
이 경우 false.

Ignore 대문자를 equalsIgnoreCase()

equalsIgnoreCase() 메서드는 String을 소문자에서 대문자로 전달하는 것을 피하고 equals()와 비교합니다. Java는 문자를 소문자로 변환하고 두 문자열을 비교하는 equalsIgnoreCase() 메서드를 제공합니다.
< 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"; 
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
연결은 런타임에 호출되는 substring()과 replace()와 달리 컴파일 중에 호출되기 때문에 true를 반환하고 수식의 다른 쪽과 같지 않은 새 객체가 만들어집니다.