java string compareto method with programming examples
이 자습서에서는 Java String compareTo () 메서드에 대해 배우고 구문 및 예제와 함께 Java에서 compareTo를 사용하는 방법과시기를 확인합니다.
compareTo () Java 메서드를 사용하여 Java String을 조작하는 방법을 이해할 수 있습니다. Java compareTo () 메서드를 통해 얻을 출력 유형도이 자습서에서 다룹니다.
이 튜토리얼을 읽은 후에는 String 조작을 위해 .compareTo () 메소드가 필요한 Java String 프로그램을 확실히 이해하고 작성할 수있을 것입니다.
=> 여기에서 완벽한 Java 교육 가이드를 확인하십시오.
학습 내용 :
Java String compareTo () 메서드
Java String compareTo () 메서드는 두 문자열이 동일한 지 여부를 확인하는 데 사용됩니다. 이름에서 알 수 있듯이 두 개의 주어진 문자열을 비교하여 동일한 지 또는 더 큰 문자열을 찾습니다.
Java compareTo () 메서드의 반환 유형은 정수이며 구문은 다음과 같이 제공됩니다.
int compareTo(String str)
위의 구문에서 str은 호출하는 String과 비교되는 String 변수입니다.
예를 들면 : String1.compareTo (String2);
Java compareTo ()의 또 다른 변형은 다음과 같습니다.
int compareTo(Object obj)
위의 구문에서 우리는 String을 Object obj와 비교할 것입니다.
예를 들면 ,String1.compareTo (“This is a String Object”);
여기서 'This is a String Object'는 compareTo ()에 전달하는 인수이며이를 String1과 비교합니다.
Java compareTo () 메서드 출력 유형
출력에는 출력 값을 기반으로하는 세 가지 유형이 있습니다.
다음은 세 가지 유형의 출력 값을 모두 설명하는 표입니다.
compareTo () 출력 값 | 기술 |
---|---|
제로 | 두 문자열이 동일합니다. |
0보다 큼 | 호출 문자열이 str보다 큽니다. |
0 미만 | 호출하는 문자열이 str보다 작습니다. |
예를 들어이 세 가지 변형을 자세히 이해해 보겠습니다.
프로그래밍 예
다음은 compareTo () Java 메서드의 예입니다. 비교는 문자의 ASCII 값 차이를 기반으로합니다. 일반적으로 문자열은 사전에서 다른 것보다 먼저 오는 경우 다른 것보다 작습니다.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }
산출:
예 설명
위의 예에서는 5 개의 입력 문자열을 가져 와서 .compareTo () Java 메서드를 사용하여 기본 비교를 수행했습니다. 첫 번째 비교에서는 알파벳 시리즈에서‘A’가‘G’보다 6 자 더 크므로 +6을 반환합니다. 두 번째 비교에서는‘C’가‘A’보다 2 자 작으므로 -2를 반환합니다.
마지막 비교 (str1과 str5 사이)에서 두 문자열이 같으므로 0을 반환합니다.
다양한 시나리오
.compareTo () 메서드를 자세히 이해합시다. 여기서는 다양한 시나리오와 각 사례의 결과를 분석하려고합니다.
시나리오 1 : 다음 두 문자열을 고려하십시오. 우리는 그것들을 비교하고 출력을 볼 것입니다.
String str1 =“소프트웨어 테스트”;
String str2 =“소프트웨어 테스트 도움말”;
str1.compareTo (str2)의 출력은 무엇입니까?
대답: str2에는 첫 번째 문자열보다 5 자 (공백 1 개 + 4 자)가 더 많이 포함되어 있습니다. 출력은 -5 여야합니다. 마찬가지로 str2를 str1과 비교할 때 출력은 +5가되어야합니다.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }
산출:
시나리오 2 : 다음 두 문자열을 고려하십시오. 우리는 그것들을 비교하고 출력을 볼 것입니다.
문자열 str1 =“”;
문자열 str2 =”“;
안드로이드 폰을 감시하는 앱
str1.compareTo (str2)의 출력은 무엇입니까?
대답: str2는 str1보다 한 문자 (공백)를 더 많이 포함하므로 출력을 -1로 제공해야합니다.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }
산출:
시나리오 3 : 다음 두 문자열을 고려하십시오. 우리는 그것들을 비교하고 출력을 볼 것입니다.
문자열 str1 =“SAKET”;
문자열 str2 =“saket”;
str1.compareTo (str2)의 출력은 무엇입니까?
대답: 여기서 문자열은 동일하지만 str1에는 대문자가 있고 str2에는 소문자가 있습니다. 이것이 Java compareTo () 메소드의 한계였습니다. 우리가 얻을 출력은 0이 아닙니다. 이 문제를 극복하기 위해 Java는 .compareTo () 메서드의 또 다른 변형을 도입했습니다.
.compareToIgnoreCase ()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }
산출:
Java String compareToIgnoreCase () 메서드
케이스 불일치 (Scenario3)의 문제를 논의했듯이, 문자열의 대소 문자 불일치를 무시하는 .compareTo () 메서드의 또 다른 변형이 이미 있습니다.
이 방법의 구문은 다음과 같이 제공됩니다.
int compareToIgnoreCase(String str)
.compareToIgnoreCase ()가 대소 문자 불일치를 고려하지 않는다는 사실을 제외하고 다른 모든 것은 동일하게 유지됩니다.
프로그래밍 예
다음은 compareTo () Java 메서드의 예입니다. 이 예에서는 Java compareTo () 및 compareToIgnoreCase ()의 출력 차이를 설명했습니다. Java compareTo ()는 -32의 차이를 제공하는 반면 compareToIgnoreCase ()는 0의 차이를 제공합니다.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }
산출:
예 설명 :
위의 예에서 우리는 동일한 값을 가진 두 개의 문자열을 가져 와서 하나는 대문자로, 다른 하나는 소문자로 유지했습니다. 이제 Java .compareTo () 메서드는 대소 문자를 고려하므로 소문자와 대문자 값의 ASCII 차이를 기반으로 결과를 제공합니다.
그러나 Java .compareToIgnoreCase ()는 대소 문자를 고려하지 않고 결과를 0으로 제공하여 두 문자열이 동일 함을 의미합니다.
자주 묻는 질문
Q # 1) ==, equals 및 .compareTo ()의 차이점은 무엇입니까?
답변 : 아래에 나열된 것은 ==, equals () 및 compareTo ()의 주요 차이점입니다.
!오류! 예기치 않은 연산자 '=' | 같음 () | compareTo () |
---|---|---|
!오류! 예기치 않은 연산자 '=' | equals ()는 메소드입니다. | compareTo ()는 메서드입니다. |
!오류! 예기치 않은 연산자 '=' | equals () 메소드는 내용 비교를 수행합니다. | compareTo ()는 ASCII 값을 기준으로 비교를 수행합니다. |
반환 유형은 부울입니다. | 반환 유형은 부울입니다. | 반환 유형은 정수입니다. |
String 변수의 참조를 사용하므로 비교할 때 메모리 주소가 동일해야합니다. | 객체를 논리적으로 정렬 할 필요가 없습니다. | 객체가 논리적으로 정렬되어야합니다. |
다음은 차이점을 보여주는 프로그래밍 예제입니다.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }
산출:
Q # 2) Java compareTo () 메서드는 대소 문자를 구분합니까?
대답: 예. Java .compareTo () 메소드는 대소 문자를 고려하며 대소 문자를 구분합니다.
아래는 그림입니다.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
산출:
크롬에서 셀레늄에 대한 xpath를 찾는 방법
질문 # 3) compareTo ()는 Java에서 어떻게 작동합니까?
대답: Java compareTo () 메서드는 실제로 문자열 문자의 ASCII 값을 비교합니다.
.compareTo () 메서드를 사용하여 쉼표와 공백 문자를 비교한다고 가정 해 보겠습니다. 아시다시피, 공백 문자는 ASCII 값 32를 갖고 쉼표는 ASCII 값 44를 갖습니다. 공백의 ASCII 값과 쉼표의 차이는 12입니다.
다음은 프로그래밍 예입니다.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
산출:
Q # 4) Java .compareTo () 메서드를 사용하여 문자열 길이를 찾는 방법은 무엇입니까?
대답: 다음은 Java .compareTo () 메소드를 사용하여 문자열의 길이를 찾는 프로그램입니다.
이 예제에서는 길이를 찾아야하는 하나의 문자열과 빈 문자열을 가져 왔습니다. 그런 다음 문자열을 빈 문자열과 비교했습니다. 그들 사이의 차이점은 문자열의 길이입니다.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
산출:
Q # 5) compareTo 메서드는 무엇을 반환합니까?
대답: Java compareTo () 메서드의 반환 유형은 정수입니다. 정수 값은 0, 양의 정수 또는 음의 정수일 수 있습니다.
결론
이 튜토리얼에서는 Java String compareTo () 메서드를 자세히 이해했습니다. String compareTo () 메서드와 관련된 개념을 더 잘 이해하기 위해 기본 기능, 구현에 대한 세부 정보 및 사용 특히 프로그래밍 예제가 제공되었습니다.
또한 읽기 = >> Java Comparable 및 Comparator 인터페이스
이 방법을 사용하면 두 개의 문자열을 비교할 수 있으며 자주 묻는 질문에서 다룬 compareTo () 메서드의 도움으로 문자열의 길이를 찾는 것과 같은 다른 많은 용도 또는 응용 분야도 가능합니다.
=> 독점적 인 Java 교육 자습서 시리즈를 보려면 여기를 방문하십시오.