문자열 비교 예제

여기서 str1과 str2는 모두 비교할 문자열입니다. 또한 두 문자열 중 어느 것이 null인 경우 메서드는 false를 반환합니다. 아파치 공용 라이브러리에는 문자열 관련 작업에 대한 StringUtils라는 유틸리티 클래스가 포함되어 있습니다. 이것은 또한 문자열 비교를위한 몇 가지 매우 유익한 방법이 있습니다. 사용된 문화는 언어 비교에 영향을 줍니다. 다음 예제에서는 “en-US” 문화권 및 “de-DE” 문화권에서 두 독일어 문장을 비교한 결과를 보여 주며, 반면에 두 번째 어설션은 litelite로 만들어지고 string3은 새 연산자로 만들어지기 때문에 false입니다. 따라서 다른 개체를 참조합니다. string3의 경우 대소문자를 구분하므로 메서드는 false를 반환합니다. 정렬되면 이진 검색을 사용하여 문자열 목록을 검색할 수 있습니다. 다음 샘플에서는 동일한 비교 함수를 사용하여 나열된 정렬된 검색 방법을 보여 주어 있습니다. 로컬 함수 ShowWhere는 검색된 텍스트의 위치 또는 될 위치를 표시합니다: String 클래스에는 문자열과 문자열의 일부를 비교하는 여러 메서드가 있습니다. 다음 표에는 이러한 메서드가 나열되어 있습니다.

== 두 문자열 참조가 정확히 동일한 개체임을 의미합니다. Java가 일종의 리터럴 테이블을 유지하기 때문에 이것이 사실이라고 들었을 수도 있지만 항상 그런 것은 아닙니다. 일부 문자열은 다른 방식으로 로드되고 다른 문자열 등에서 생성되므로 동일한 두 문자열이 동일한 위치에 저장된다고 가정해서는 안 됩니다. String은 문자열의 원래 내용을 비교합니다. 같음 문자열의 값을 비교합니다. String 클래스는 두 가지 메서드를 제공합니다: ==를 사용하는 두 String 개체의 비교가 true인 경우, 즉 String 개체가 인턴으로 사용되었고 Java 가상 컴퓨터가 동일한 String 인스턴스를 가리키는 여러 참조를 가지고 있기 때문입니다. 참으로 평가하기 위해 ==를 사용하여 다른 String 개체와 동일한 내용을 포함하는 하나의 String 개체를 비교하는 것은 기대할 수 없습니다. 2 개의 문자열이 인턴인 경우 “==”를 사용하여 문자열을 이해할 수 있습니다.

기본적으로 문자열 리터럴은 인턴입니다. 따라서 “==”를 사용하여 문자열을 comapre로 만들 수 있습니다. 문자열 비교에 == 연산자 사용 시 문자열의 내용을 비교하는 것은 아니지만 실제로 메모리 주소를 비교하고 있습니다. 둘 다 같으면 그렇지 않으면 참과 거짓이 반환됩니다. 문자열의 같음은 문자열 내용을 비교합니다. 안녕하세요, “==”가 “같음”인지 두 문자열을 비교하는 데 좋지 않은 이유에 대해 자세히 설명 할 수 있습니다. Java가 String 풀을 사용하기 때문에 한 문자열은 풀에 하나의 인스턴스만 있지만 많은 참조가 있습니다. “==”를 사용하여 비교할 때 두 문자열이 문자열 풀에서 동일한 문자열에 대한 참조인 한 값은 “같음”입니다. 연산자 ===는 항상 개체 참조 비교를 의미하지만, String 클래스 .equals() 메서드는 콘텐츠 비교를 위해 재정의됩니다. 문자열은 목록 사용하여 정렬됩니다. 정렬 메서드입니다. 이 메서드에는 두 문자열을 비교하고 정렬하는 대리자가 필요합니다.

String.CompareTo 메서드는 해당 비교 함수를 제공합니다. 샘플을 실행하고 순서를 준수합니다. 이 정렬 작업은 서수 대/소문자 구분 정렬을 사용합니다. 정적 String.Compare 메서드를 사용하여 다른 비교 규칙을 지정합니다. 다음 프로그램인 RegionMatchesDemo는 regionMatchesDemo 메서드를 사용하여 다른 문자열 내에서 문자열을 검색합니다.