java string compareto method with programming examples
I denne veiledningen vil vi lære om Java String CompareTo () -metoden og se hvordan og når du skal bruke CompareTo i Java sammen med syntaks og eksempler:
Du vil forstå hvordan du kan manipulere Java String ved hjelp av CompareTo () Java-metoden. Utgangstypene som vi får gjennom Java CompareTo () -metoden vil også bli dekket i denne opplæringen.
Etter å ha lest denne opplæringen, vil du definitivt kunne forstå og skrive Java String-programmene som krever .compareTo () -metoden for strengmanipulering.
=> Ta en titt på den perfekte Java-treningsveiledningen her.
Hva du vil lære:
Java String CompareTo () Metode
Metoden Java String CompareTo () brukes til å sjekke om to strenger er identiske eller ikke. Som navnet antyder, sammenligner den to gitte strenger og finner ut om de er like eller hvilken som er større.
Returtypen til Java CompareTo () -metoden er et helt tall og syntaksen er gitt som:
int compareTo(String str)
I ovennevnte syntaks er str en strengvariabel som sammenlignes med påkallende streng.
For eksempel: String1.compareTo (String2);
En annen variant av Java CompareTo () er
int compareTo(Object obj)
I syntaksen ovenfor vil vi sammenligne en streng med en objektobjekt.
For eksempel ,String1.compareTo (“Dette er et strengobjekt”);
Her er 'Dette er et strengobjekt' et argument som vi overfører til comparTo (), og det sammenligner det med String1.
Java CompareTo () Metodeutgangstyper
Utgangen har tre typer som er basert på utgangsverdien.
Nedenfor er tabellen som forklarer alle de tre typene utgangsverdier.
CompareTo () utgangsverdi | Beskrivelse |
---|---|
Null | To strenger er like. |
Større enn null | Påkallende streng er større enn str. |
Mindre enn null | Påkallende streng er mindre enn str. |
La oss forstå disse tre variantene i detalj ved hjelp av et eksempel.
Et programmeringseksempel
Her er et eksempel på CompareTo () Java-metoden. Sammenligningen er basert på forskjellen i ASCII-verdien til tegnene. Generelt sett er en streng mindre enn den andre hvis den kommer foran den andre i ordboken.
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 } }
Produksjon:
Forklaring på eksempel
I eksemplet ovenfor har vi tatt fem inngangsstrenger og utført en grunnleggende sammenligning mellom dem ved hjelp av .compareTo () Java-metoden. I den første sammenligningen har vi ‘A’ større enn ‘G’ med 6 tegn i alfabetsserien, så den returnerer +6. I den andre sammenligningen har vi 'C' mindre enn 'A' med 2 tegn, så den returnerer -2.
I den siste sammenligningen (mellom str1 og str5), da begge strengene er like, returnerer den 0.
Ulike scenarier
La oss forstå .compareTo () -metoden i detalj. Her vil vi prøve å analysere forskjellige scenarier og utdataene fra hvert tilfelle.
Scenario1: Tenk på følgende to strenger. Vi vil sammenligne dem og se utdataene.
String str1 = “Testing av programvare”;
String str2 = “Software Testing Help”;
Hva blir resultatet av str1.compareTo (str2)?
Svar: Da str2 inneholder 5 tegn (ett mellomrom + fire tegn) mer enn den første strengen. Utgangen skal være -5. På samme måte, når vi sammenligner str2 med str1, skal utgangen 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 } }
Produksjon:
Scenario2: Tenk på følgende to strenger. Vi vil sammenligne dem og se utdataene.
Streng str1 = “”;
String str2 = ”“;
forskjell mellom venstre sammenføyning og venstre ytre skjøt
Hva blir resultatet av str1.compareTo (str2)?
Svar: Ettersom str2 inneholder ett tegn (mellomrom) mer enn str1, bør det gi utdata 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 } }
Produksjon:
Scenario3: Tenk på følgende to strenger. Vi vil sammenligne dem og se utdataene.
Streng str1 = “SAKET”;
String str2 = “saket”;
Hva blir resultatet av str1.compareTo (str2)?
Svar: Her er strengene like, men str1 har store bokstaver mens str2 har små bokstaver. Dette var begrensningen av Java CompareTo () -metoden. Utgangen som vi får vil være ikke-null. For å løse dette problemet introduserte Java en annen variant av .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 } }
Produksjon:
Java String CompareToIgnoreCase () Metode
Som vi har diskutert problemet i case mismatch (Scenario3), har vi allerede en annen variant av .compareTo () -metoden som vil ignorere case mismatch av Strings.
Syntaksen for denne metoden er gitt som
int compareToIgnoreCase(String str)
Alt annet forblir det samme, bortsett fra at .compareToIgnoreCase () ikke tar hensyn til sakens uoverensstemmelse.
Et programmeringseksempel
Her er et eksempel på CompareTo () Java-metoden. I dette eksemplet har vi illustrert forskjellen i utgangene til Java CompareTo () og CompareToIgnoreCase (). Java CompareTo () vil gi en forskjell på -32, mens CompareToIgnoreCase () vil gi en forskjell 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)); } }
Produksjon:
Forklaring på eksempel:
I eksemplet ovenfor har vi tatt to strenger som har samme verdi for å holde en streng i store bokstaver og en annen med små bokstaver. Nå vil en Java .compareTo () -metode gi resultater basert på ASCII-forskjellen i verdien av små og store bokstaver, da den tar hensyn til tegnsaken.
Men Java .compareToIgnoreCase () tar ikke tegnsaken i betraktning og vil gi et resultat som 0, noe som betyr at begge strengene er like.
ofte stilte spørsmål
Q # 1) Hva er forskjellen mellom ==, er lik og .compareTo ()?
Svar: Oppført nedenfor er hovedforskjellene mellom ==, er lik () og sammenlignTo ().
!FEIL! uventet operatør '=' | er lik() | sammenligne med() |
---|---|---|
!FEIL! uventet operatør '=' | lik () er en metode. | CompareTo () er en metode. |
!FEIL! uventet operatør '=' | equals () -metoden gjør innholdssammenligningen. | CompareTo () gjør sammenligningen basert på ASCII-verdi. |
Returtypen er boolsk. | Returtypen er boolsk. | Returtypen er Heltall. |
Den bruker referansen til strengvariabelen, så minneadressene skal være de samme når de sammenlignes. | Det krever ikke at objektene er logisk ordnet. | Det krever at objektene er logisk ordnet. |
Her er et programmeringseksempel som illustrerer forskjellen.
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)); } }
Produksjon:
Q # 2) Er Java comparTo () -metoden mellom store og små bokstaver?
Svar: Ja. Java .compareTo () -metoden vurderer tegnene store og små bokstaver.
Nedenfor er illustrasjonen.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Produksjon:
metode som tar i en matrise
Q # 3) Hvordan fungerer comparTo () i Java?
Svar: Java CompareTo () -metoden sammenligner faktisk ASCII-verdiene til tegnene i en streng.
La oss si at vi skal sammenligne et komma og et mellomrom ved hjelp av .compareTo () -metoden. Som vi vet har et mellomrom en ASCII-verdi 32, mens et komma har en ASCII-verdi 44. Forskjellen mellom ASCII-verdien for mellomrom 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)); } }
Produksjon:
Q # 4) Hvordan finner du lengden på en streng ved hjelp av Java .compareTo () -metoden?
Svar: Nedenfor er programmet for å finne lengden på en streng ved hjelp av Java .compareTo () -metoden.
I dette eksemplet har vi tatt en streng hvis lengde vi må finne, og en tom streng. Så har vi sammenlignet Strengen med den tomme Strengen. Forskjellen mellom dem vil være lengden på strengen.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Produksjon:
Sp # 5) Hva returnerer metoden CompareTo?
Svar: Java CompareTo () -metodens returtype er heltall. Heltalsverdien kan være null, positivt heltall eller negativt heltall.
Konklusjon
I denne veiledningen har vi forstått Java String CompareTo () -metoden i detalj. Den grunnleggende funksjonaliteten, detaljene om implementeringen og bruken, spesielt programmeringseksemplene, ble gitt for en bedre forståelse av konseptet relatert til String CompareTo () -metoden.
Les også = >> Java-sammenlignbare og komparatorgrensesnitt
Ved hjelp av denne metoden kan du sammenligne to strenger og mange andre bruksområder eller bruksområder, som å finne lengden på strengen er også mulig ved hjelp av comparTo () -metoden som er dekket i de vanlige spørsmålene.
=> Besøk her for den eksklusive opplæringsserien for Java Training.
Anbefalt lesing
- Java String Tutorial | Java strengmetoder med eksempler
- Java String Split () Metode - Hvordan dele en streng i Java
- Java String with String Buffer and String Builder Tutorial
- Python-strengfunksjoner
- Java String Array- Veiledning med kodeeksempler
- ListIterator-grensesnitt i Java med eksempler
- Java-grensesnitt og abstrakt klasseopplæring med eksempler
- OOP Java: Introduksjon til objektorientert programmering i Java