java string compareto method with programming examples
I denne vejledning lærer vi om Java String CompareTo () -metoden og ser, hvordan og hvornår man skal bruge CompareTo i Java sammen med syntaks og eksempler:
Du vil forstå, hvordan man manipulerer Java String ved hjælp af CompareTo () Java-metoden. De outputtyper, som vi får gennem Java CompareTo () -metoden, vil også blive dækket i denne vejledning.
Efter at have læst denne tutorial, vil du helt sikkert være i stand til at forstå og skrive Java String-programmer, der kræver .compareTo () -metode til strengmanipulation.
=> Tjek den perfekte Java-træningsvejledning her.
Hvad du lærer:
Java String CompareTo () -metode
Metoden Java String CompareTo () bruges til at kontrollere, om to strenge er identiske eller ej. Som navnet antyder, sammenligner det to givne strenge og finder ud af, om de er ens, eller hvilken der er større.
Returtypen af Java CompareTo () -metoden er et heltal, og syntaksen gives som:
int compareTo(String str)
I ovenstående syntaks er str en strengvariabel, der sammenlignes med den påkaldte streng.
For eksempel: String1.compareTo (String2);
En anden variation af Java CompareTo () er
int compareTo(Object obj)
I ovenstående syntaks sammenligner vi en streng med en objektsobjekt.
For eksempel ,String1.compareTo (“Dette er et strengobjekt”);
Her “Dette er et strengobjekt” er et argument, som vi videregiver til sammenligneTo (), og det sammenligner det med String1.
Java CompareTo () Metodeudgangstyper
Outputtet har tre typer, der er baseret på outputværdien.
Nedenfor er tabellen, der forklarer alle de tre typer outputværdier.
CompareTo () outputværdi | Beskrivelse |
---|---|
Nul | To strenge er ens. |
Større end nul | Den påkaldte streng er større end str. |
Mindre end nul | Den påkaldte streng er mindre end str. |
Lad os forstå disse tre varianter i detaljer ved hjælp af et eksempel.
Et programmeringseksempel
Her er et eksempel på CompareTo () Java-metoden. Sammenligningen er baseret på forskellen i karaktererne ASCII-værdi. Generelt er en streng mindre end den anden, hvis den kommer foran den anden i ordbogen.
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 } }
Produktion:
Forklaring til eksempel
I ovenstående eksempel har vi taget fem inputstrenge og udført en grundlæggende sammenligning mellem dem ved hjælp af .compareTo () Java-metoden. I den første sammenligning har vi 'A' større end 'G' med 6 tegn i alfabetserien, så den returnerer +6. I den anden sammenligning har vi 'C' mindre end 'A' med 2 tegn, så den returnerer -2.
I den sidste sammenligning (mellem str1 og str5), da begge strengene er ens, returnerer den 0.
Forskellige scenarier
Lad os forstå .compareTo () -metoden i detaljer. Her vil vi forsøge at analysere forskellige scenarier og output i hvert enkelt tilfælde.
Scenarie1: Overvej følgende to strenge. Vi sammenligner dem og ser output.
String str1 = “Software Testing”;
String str2 = “Software Testing Help”;
Hvad bliver output af str1.compareTo (str2)?
Svar: Da str2 indeholder 5 tegn (et mellemrum + fire tegn) mere end den første streng. Outputtet skal være -5. Tilsvarende, når vi sammenligner str2 med str1, skal output være +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 } }
Produktion:
Scenarie2: Overvej følgende to strenge. Vi sammenligner dem og ser output.
Streng str1 = “”;
Streng str2 = ”“;
kan ikke oprette forbindelse til standard gateway
Hvad bliver output af str1.compareTo (str2)?
Svar: Da str2 indeholder et tegn (mellemrum) mere end str1, skal det give output som -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 } }
Produktion:
Scenarie3: Overvej følgende to strenge. Vi sammenligner dem og ser output.
Streng str1 = “SAKET”;
String str2 = “saket”;
Hvad bliver output af str1.compareTo (str2)?
Svar: Her er strengene lige, men str1 har store bogstaver, mens str2 har små bogstaver. Dette var begrænsningen af Java-sammenligne-metoden (). Det output, som vi får, er ikke-nul. For at overvinde dette problem introducerede Java en anden variant af .compareTo () -metoden, som er
.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 } }
Produktion:
Java-streng CompareToIgnoreCase () -metode
Da vi har diskuteret problemet i sagen mismatch (Scenario3), har vi allerede en anden variant af .compareTo () -metoden, som vil ignorere sagen mismatch af strengene.
Syntaksen for denne metode gives som
int compareToIgnoreCase(String str)
Alt andet forbliver det samme undtagen det faktum, at .compareToIgnoreCase () ikke tager højde for sagens uoverensstemmelse.
Et programmeringseksempel
Her er et eksempel på CompareTo () Java-metoden. I dette eksempel har vi illustreret forskellen i output fra Java CompareTo () og CompareToIgnoreCase (). Java CompareTo () giver en forskel på -32, mens CompareToIgnoreCase () giver en forskel på 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)); } }
Produktion:
Forklaring til eksempel:
I ovenstående eksempel har vi taget to strenge, der har samme værdi, og som holder en streng i store bogstaver og en anden med små bogstaver. Nu vil en Java .compareTo () -metode give resultater baseret på ASCII-forskellen i værdien af små og store bogstaver, da den vil tage tegnsagen med i betragtning.
Men Java .compareToIgnoreCase () tager ikke karakterskiftet i betragtning og giver et resultat som 0, hvilket betyder, at begge strengene er ens.
Ofte stillede spørgsmål
Q # 1) Hvad er forskellen mellem ==, er lig med .compareTo ()?
Svar: Enlisted nedenfor er de største forskelle mellem ==, er lig med () og sammenlignTo ().
!FEJL! uventet operatør '=' | lige med() | sammenligne med() |
---|---|---|
!FEJL! uventet operatør '=' | lig () er en metode. | CompareTo () er en metode. |
!FEJL! uventet operatør '=' | equals () -metoden sammenligner indholdet. | CompareTo () gør sammenligningen baseret på ASCII-værdi. |
Returtypen er boolsk. | Returtypen er boolsk. | Returtypen er heltal. |
Den bruger referencen til strengvariablen, så hukommelsesadresser skal være de samme, når de sammenlignes. | Det kræver ikke, at objekterne ordnes logisk. | Det kræver, at objekterne ordnes logisk. |
Her er et programmeringseksempel, der illustrerer forskellen.
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)); } }
Produktion:
Q # 2) Er Java CompareTo () -metoden store og små bogstaver?
Svar: Ja. Java .compareTo () -metoden betragter tegnene i store og små bogstaver og er store og små bogstaver
Nedenfor er illustrationen.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Produktion:
fri grammatikkontrol bedre end grammatik
Q # 3) Hvordan fungerer comparTo () i Java?
Svar: Java CompareTo () -metoden sammenligner faktisk ASCII-værdierne for tegnene i en streng.
Lad os sige, at vi skal sammenligne et komma og et mellemrumstegn ved hjælp af metoden .compareTo (). Som vi ved har et mellemrumstegn en ASCII-værdi 32, mens et komma har en ASCII-værdi 44. Forskellen mellem ASCII-værdien for mellemrum og komma er 12.
Nedenfor er programmeringseksemplet.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Produktion:
Q # 4) Hvordan finder man længden på en streng ved hjælp af Java .compareTo () -metoden?
Svar: Nedenfor er programmet til at finde længden på en streng ved hjælp af Java .compareTo () -metoden.
I dette eksempel har vi taget en streng, hvis længde vi skal finde, og en tom streng. Så har vi sammenlignet strengen med den tomme streng. Forskellen mellem dem vil være længden af strengen.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Produktion:
Spørgsmål nr. 5) Hvad returnerer sammenligningsmetoden?
Svar: Java CompareTo () -metodens returtype er heltal. Heltalsværdien kan være nul, positivt heltal eller negativt heltal.
Konklusion
I denne vejledning har vi forstået Java String CompareTo () -metoden i detaljer. Den grundlæggende funktionalitet, detaljer om implementeringen og brugen, især programmeringseksemplerne, blev leveret til en bedre forståelse af konceptet relateret til String CompareTo () -metoden.
Læs også = >> Java-sammenlignelige og komparatorgrænseflader
Ved hjælp af denne metode kan du sammenligne to strenge og mange andre anvendelser eller applikationsområder som at finde længden på strengen er også mulig ved hjælp af sammenligningsmetoden (), som er blevet dækket i de ofte stillede spørgsmål.
=> Besøg her for den eksklusive Java-træningsundervisningsserie.
Anbefalet læsning
- Java String Tutorial | Java strengmetoder med eksempler
- Java String Split () Metode - Sådan opdeles en streng i Java
- Java String med String Buffer og String Builder Tutorial
- Python-strengfunktioner
- Java String Array- Vejledning med kodeeksempler
- ListIterator-interface i Java med eksempler
- Java-interface og abstrakt klasseundervisning med eksempler
- OOP Java: Introduktion til objektorienteret programmering i Java