java string compareto method with programming examples
U ovom uputstvu naučit ćemo o Java String metodu compareTo () i vidjeti kako i kada koristiti compareTo u Javi zajedno sa sintaksom i primjerima:
Razumjet ćete kako manipulirati Java Stringom pomoću Java-metode compareTo (). Vrste izlaza koje ćemo dobiti putem metode Java compareTo () također će biti obrađene u ovom vodiču.
Nakon čitanja ovog vodiča, definitivno ćete moći razumjeti i napisati Java String programe koji zahtijevaju metodu .compareTo () za manipulaciju nizom.
=> Ovdje pogledajte Savršeni vodič za Java obuku.
Što ćete naučiti:
Metoda Java String compareTo ()
Metoda Java String compareTo () koristi se za provjeru jesu li dva niza identična ili ne. Kao što naziv sugerira, uspoređuje dvije zadane žice i otkriva jesu li iste ili koja je veća.
Vrsta povrata metode Java compareTo () je cijeli broj i sintaksa je dana kao:
int compareTo(String str)U gornjoj sintaksi, str je varijabla String koja se uspoređuje sa Stringom koji poziva.
Na primjer: String1.compareTo (String2);
Druga varijacija Jave compareTo () je
int compareTo(Object obj)U gornjoj sintaksi usporedit ćemo String s Object obj.
Na primjer ,String1.compareTo („Ovo je niz objekt“);
Ovdje je 'Ovo je objekt niza' argument koji prosljeđujemo compaTo () i uspoređuje ga sa String1.
Tipovi izlaza metode Java compareTo ()
Izlaz ima tri vrste koje se temelje na izlaznoj vrijednosti.
Ispod je tablica koja objašnjava sve tri vrste izlaznih vrijednosti.
| compareTo () Izlazna vrijednost | Opis |
|---|---|
| Nula | Dvije žice su jednake. |
| Veći od Nule | Prizivajući niz veći je od str. |
| Manje od Nula | Stvaranje niza manje je od str. |
Razumijemo detaljno ove tri varijante uz pomoć primjera.
Primjer programiranja
Evo primjera Java metode compareTo (). Usporedba se temelji na razlici u ASCII vrijednosti znakova. Općenito govoreći, niz je manji od drugog ako dolazi ispred drugog u rječniku.
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 } }Izlaz:

Objašnjenje primjera
U gornjem primjeru uzeli smo pet ulaznih nizova i izvršili osnovnu usporedbu između njih pomoću metode .compareTo () Java. U prvoj usporedbi imamo 'A' veće od 'G' za 6 znakova u abecednom nizu, pa vraća +6. U drugoj usporedbi imamo 'C' manji od 'A' za 2 znaka, pa daje -2.
U posljednjoj usporedbi (između str1 i str5), budući da su obje žice jednake, vraća 0.
Razni scenariji
Razumijemo detaljno metodu .compareTo (). Ovdje ćemo pokušati analizirati različite scenarije i rezultate svakog slučaja.
Scenarij 1: Razmotrite sljedeće dvije žice. Usporedit ćemo ih i vidjeti rezultat.
Niz str1 = 'Testiranje softvera';
String str2 = 'Pomoć za testiranje softvera';
Koji će biti izlaz str1.compareTo (str2)?
Odgovor: Kako str2 sadrži 5 znakova (jedan razmak + četiri znaka) više od prvog niza. Izlaz bi trebao biti -5. Slično tome, kada uspoređujemo str2 sa str1, izlaz bi trebao biti +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 } }Izlaz:

Scenarij 2: Razmotrite sljedeće dvije žice. Usporedit ćemo ih i vidjeti rezultat.
Niz str1 = '';
Niz str2 = '';
postavljanje c ++-a u pomrčini
Koji će biti izlaz str1.compareTo (str2)?
Odgovor: Kako str2 sadrži jedan znak (razmak) više od str1, izlaz bi trebao dati kao -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 } }Izlaz:

Scenarij 3: Razmotrite sljedeće dvije žice. Usporedit ćemo ih i vidjeti rezultat.
Niz str1 = “SAKET”;
Niz str2 = 'saket';
Koji će biti izlaz str1.compareTo (str2)?
Odgovor: Ovdje su nizovi jednaki, ali str1 ima velika slova, dok str2 ima mala slova. Ovo je bilo ograničenje metode Java compareTo (). Izlaz koji ćemo dobiti bit će različit od nule. Da bi prevladala taj problem, Java je uvela još jednu varijaciju .compareTo () metode koja je
.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 } }Izlaz:

Java String metoda compareToIgnoreCase ()
Kako smo raspravljali o problemu u slučaju neusklađenosti slučajeva (Scenarij 3), već imamo drugu varijantu .compareTo () metode koja će zanemariti neusklađenost slučajeva u nizu.
Sintaksa ove metode dana je kao
int compareToIgnoreCase(String str)Sve ostalo ostaje isto, osim činjenice da .compareToIgnoreCase () ne uzima u obzir neusklađenost slučaja.
Primjer programiranja
Evo primjera Java metode compareTo (). U ovom smo primjeru ilustrirali razliku u rezultatima Java-a compareTo () i compareToIgnoreCase (). Java compareTo () dobit će razliku od -32 dok će compareToIgnoreCase () dati razliku od 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)); } }Izlaz:

Objašnjenje primjera:
U gornjem primjeru uzeli smo dvije žice koje imaju istu vrijednost držeći jedan niz velikim slovom, a drugi malim slovima. Sada će Java .compareTo () metoda pružiti rezultate na temelju ASCII razlike u vrijednosti malih i velikih slova jer će uzeti u obzir slučaj znakova.
Ali Java .compareToIgnoreCase () neće uzeti u obzir slučaj znaka i dat će rezultat kao 0, što znači da su oba niza jednaka.
Često postavljana pitanja
P # 1) Koja je razlika između ==, equals i .compareTo ()?
Odgovor: Dolje su navedene glavne razlike između ==, equals () i compareTo ().
| ! POGREŠKA! neočekivani operator '=' | jednako () | compareTo () |
|---|---|---|
| ! POGREŠKA! neočekivani operator '=' | equals () je metoda. | compareTo () je metoda. |
| ! POGREŠKA! neočekivani operator '=' | equals () metoda vrši usporedbu sadržaja. | compareTo () vrši usporedbu na temelju ASCII vrijednosti. |
| Tip povrata je logički. | Tip povrata je logički. | Vrsta povrata je Integer. |
| Koristi referencu varijable String, pa bi adrese memorije trebale biti iste prilikom usporedbe. | Ne zahtijeva logično uređenje objekata. | Potrebno je da objekti budu logički poredani. |
Evo primjera programiranja koji ilustrira razliku.
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)); } }Izlaz:

P # 2) Je li u metodi Java compareTo () velika i mala slova?
Odgovor: Da. Java .compareTo () metoda uzima u obzir velika i mala slova i razlikuje velika i mala slova.
Ispod je ilustracija.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }Izlaz:
najbolji besplatni pc čistač prozora 7

3. pitanje) Kako compareTo () radi na Javi?
Odgovor: Metoda Java compareTo () zapravo uspoređuje ASCII vrijednosti znakova niza.
Recimo da ćemo usporediti zarez i razmak koristeći metodu .compareTo (). Kao što znamo, razmak ima ASCII vrijednost 32, dok zarez ima ASCII vrijednost 44. Razlika između ASCII vrijednosti razmaka i zareza je 12.
Ispod je primjer programiranja.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }Izlaz:

P # 4) Kako pronaći duljinu niza pomoću Java .compareTo () metode?
Odgovor: Dolje je dan program za pronalaženje duljine niza pomoću Java .compareTo () metode.
U ovom smo primjeru uzeli jedan niz čiju duljinu moramo pronaći i prazan niz. Zatim smo usporedili String s praznim Stringom. Razlika između njih bit će duljina žice.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }Izlaz:

P # 5) Što vraća metoda compareTo?
Odgovor: Vrsta povrata metode Java compareTo () je cijeli broj. Cjelobrojna vrijednost može biti nula, pozitivan cijeli ili negativni cijeli broj.
Zaključak
U ovom smo uputstvu detaljno razumjeli metodu Java String compareTo (). Osnovna funkcionalnost, detalji o implementaciji i upotreba, posebno primjeri programiranja, pruženi su radi boljeg razumijevanja koncepta koji se odnosi na metodu String compareTo ().
Također pročitajte = >> Java usporediva i usporedna sučelja
Korištenjem ove metode možete usporediti dvije žice i mnoštvo drugih načina korištenja ili područja primjene, poput pronalaska duljine niza također je moguće uz pomoć metode compareTo () koja je obrađena u često postavljanim pitanjima.
=> Posjetite ovdje za ekskluzivnu seriju udžbenika za Java.
Preporučena literatura
- Java String Vodič | Metode Java niza s primjerima
- Metoda razdvajanja Java niza () - Kako podijeliti niz u Javi
- Java string sa String Buffer-om i String Builder Tutorial
- Python string funkcije
- Java niz nizova - Vodič s primjerima koda
- ListIterator sučelje u Javi s primjerima
- Java sučelje i udžbenik klase sažetak sa primjerima
- OOP Java: Uvod u objektno orijentirano programiranje na Javi