>Java >java지도 시간 >Java 문자열 비교: `==` 대 `.equals()` – 언제 어느 것을 사용해야 할까요?

Java 문자열 비교: `==` 대 `.equals()` – 언제 어느 것을 사용해야 할까요?

Barbara Streisand
Barbara Streisand원래의
2024-12-06 14:14:12345검색

Java String Comparison:  `==` vs. `.equals()` – When to Use Which?

Java의 객체 참조 비교와 값 동일성

Java에서는 == 연산자를 사용하여 문자열을 비교할 때 객체 동일성을 결정하는 것이 혼란스러울 수 있습니다. . 이 모호해 보이는 동작을 자세히 살펴보겠습니다.

다음 시나리오를 고려해 보세요.

// Define a String array
String[] parts = {"231", "CA-California", "Sacramento-155328", "aleee", "Customer Service Clerk", "Alegra Keith.doc.txt"};

// Perform comparison
if ("231" == parts[0]) {
    // This comparison will evaluate to false
}

놀랍게도 비교 결과가 false입니다. 이는 Java의 == 연산자가 값 동일성이 아닌 객체 참조 동일성을 확인하기 때문입니다. 다른 많은 언어와 달리 Java 문자열은 객체입니다. ==를 사용하여 두 문자열을 비교할 때 실제 문자열 값이 아닌 해당 개체가 있는 메모리 주소를 비교합니다.

문자열의 실제 값을 비교하려면 String.equals 메서드를 사용해야 합니다.

if ("231".equals(parts[0])) {
    // This comparison will evaluate to true
}

이 방법은 객체 참조가 아닌 문자열의 내용을 확인합니다.

Java의 모든 객체에 대해 == 연산자를 기억하세요. 참조 동등성을 확인하는 반면, equals 메소드는 실제 객체 값을 비교합니다. ==는 객체 참조를 비교할 때 잘못된 결론을 초래할 수 있으므로 객체의 동등성을 확인할 때 같음을 사용하는 것이 중요합니다.

위 내용은 Java 문자열 비교: `==` 대 `.equals()` – 언제 어느 것을 사용해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.