java string compareto method with programming examples
У цьому посібнику ми дізнаємося про метод Java String compareTo () і побачимо, як і коли використовувати порівнянняTo в Java разом із синтаксисом та прикладами:
Ви зрозумієте, як маніпулювати рядком Java за допомогою Java-методу compareTo (). Типи виводу, які ми отримаємо за допомогою методу Java compareTo (), також будуть розглянуті в цьому посібнику.
Прочитавши цей підручник, ви точно зможете зрозуміти і написати програми Java String, які потребують методу .compareTo () для маніпулювання рядками.
=> Ознайомтесь з Ідеальним посібником з навчання Java тут.
Що ви дізнаєтесь:
Метод Java String compareTo ()
Метод Java String compareTo () використовується, щоб перевірити, чи однакові два рядки. Як випливає з назви, він порівнює два задані рядки і з’ясовує, чи однакові вони, чи який більший.
Тип повернення методу Java compareTo () є цілим числом, а синтаксис подається як:
int compareTo(String str)
У наведеному вище синтаксисі str є змінною String, яка порівнюється із рядком, що викликає.
Наприклад: String1.compareTo (String2);
Іншим варіантом Java порівнянняTo () є
int compareTo(Object obj)
У наведеному вище синтаксисі ми порівняємо String з Object obj.
Наприклад ,String1.compareTo (“Це об’єкт рядка”);
Тут “Це об’єкт рядка” - це аргумент, який ми передаємо в функцію compareTo (), і він порівнює це зі значенням String1.
Види виводу методу Java compareTo ()
Вихід має три типи, які базуються на вихідному значенні.
Нижче наведена таблиця, яка пояснює всі три типи вихідних значень.
compareTo () Вихідне значення | Опис |
---|---|
Нуль | Дві струни рівні. |
Більший за Нуль | Викликає рядок більше, ніж str. |
Менше нуля | Викликає рядок менше, ніж 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 } }
Вихід:
Пояснення прикладу
У наведеному вище прикладі ми взяли п’ять вхідних рядків і виконали базове порівняння між ними, використовуючи метод .compareTo () Java. У першому порівнянні ми маємо «A» більше, ніж «G», на 6 символів у серії алфавітів, тому воно повертає +6. У другому порівнянні ми маємо «C» менше, ніж «A», на 2 символи, тому воно повертає -2.
В останньому порівнянні (між str1 і str5), оскільки обидва рядки рівні, воно повертає 0.
Різні сценарії
Давайте детально розберемося у методі .compareTo (). Тут ми спробуємо проаналізувати різні сценарії та результати кожного випадку.
Сценарій 1: Розглянемо наступні два рядки. Ми порівняємо їх і побачимо результати.
Рядок str1 = “Тестування програмного забезпечення”;
Рядок str2 = “Довідка щодо тестування програмного забезпечення”;
Яким буде результат str1.compareTo (str2)?
Відповідь: Оскільки str2 містить 5 символів (один пробіл + чотири символи) більше, ніж перший рядок. Вихід повинен бути -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 = '';
відкриття файлів jar у Windows 10
Яким буде результат 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 (). Результат, який ми отримаємо, буде ненульовим. Щоб подолати цю проблему, 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 порівнянняTo () та порівнянняТіІгнореКазе (). 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)); } }
Вихід:
Пояснення прикладу:
У наведеному вище прикладі ми взяли два рядки, які мають однакове значення, зберігаючи один рядок у верхньому регістрі, а інший - у нижньому регістрі. Тепер метод .compareTo () Java надасть результати на основі різниці ASCII у значенні нижнього та верхнього регістру, оскільки враховуватиме регістр символів.
Але Java .compareToIgnoreCase () не враховуватиме регістр символів і дасть результат як 0, що означає, що обидва рядки рівні.
Часті запитання
Q # 1) Яка різниця між ==, дорівнює та .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)); } }
Вихід:
що таке SWF-файл?
Q # 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 () - ціле число. Ціле значення може бути нулем, цілим додатним чи цілим від’ємним числом.
Висновок
У цьому посібнику ми детально зрозуміли метод Java String compareTo (). Основна функціональність, подробиці про реалізацію та використання, особливо приклади програмування, були надані для кращого розуміння концепції, пов’язаної з методом String compareTo ().
Також прочитайте = >> Порівнянні та порівняльні інтерфейси Java
За допомогою цього методу ви можете порівняти два рядки та багато інших звичаїв чи областей застосування, наприклад, знайти довжину рядка також можливо за допомогою методу compareTo (), який висвітлювався у найпоширеніших питаннях.
=> Завітайте сюди, щоб ознайомитись із ексклюзивними навчальними посібниками з Java.
Рекомендована література
- Підручник із рядків Java | Рядові методи Java на прикладах
- Метод розділення рядка Java () - Як розділити рядок у Java
- Рядок Java із підручником для буфера рядків та побудови рядків
- Функції рядка Python
- Струнковий масив Java - Підручник із прикладами коду
- Інтерфейс ListIterator в Java з прикладами
- Інтерфейс Java та підручник з абстрактних класів із прикладами
- ООП Java: Вступ до об’єктно-орієнтованого програмування на Java