java string compareto method with programming examples
I den här självstudien kommer vi att lära dig mer om Java-strängen CompareTo () -metoden och se hur och när du använder CompareTo i Java tillsammans med syntax och exempel:
Du kommer att förstå hur man kan manipulera Java-sträng med hjälp av Java-metoden comparTo (). Utmatningstyperna som vi kommer att få via Java jämför till () -metoden kommer också att behandlas i denna handledning.
Efter att ha läst denna handledning kommer du definitivt att kunna förstå och skriva Java String-program som kräver .compareTo () -metod för strängmanipulation.
=> Kolla in den perfekta Java-träningsguiden här.
Vad du kommer att lära dig:
Java String CompareTo () -metod
Metoden Java String CompareTo () används för att kontrollera om två strängar är identiska eller inte. Som namnet antyder jämför den två givna strängar och får reda på om de är desamma eller vilken som är större.
Returtypen av Java jämför till () -metoden är ett heltal och syntaxen ges som:
int compareTo(String str)
I ovanstående syntax är str en strängvariabel som jämförs med den åberopande strängen.
Till exempel: String1.compareTo (String2);
En annan variant av Java CompareTo () är
int compareTo(Object obj)
I ovanstående syntax jämför vi en sträng med ett objektobjekt.
Till exempel ,String1.compareTo (“Detta är ett strängobjekt”);
Här är 'Detta är ett strängobjekt' ett argument som vi skickar till jämförelsen () och det jämförs med String1.
Java CompareTo () Metodutgångstyper
Utgången har tre typer som baseras på utgångsvärdet.
Nedan följer tabellen som förklarar alla de tre typerna av utmatningsvärden.
jämför till () utgångsvärde | Beskrivning |
---|---|
Noll | Två strängar är lika. |
Större än noll | Den åberopande strängen är större än str. |
Mindre än noll | Den åberopande strängen är mindre än str. |
Låt oss förstå dessa tre varianter i detalj med hjälp av ett exempel.
Ett programmeringsexempel
Här är ett exempel på CompareTo () Java-metoden. Jämförelsen baseras på skillnaden i ASCII-värdet för tecknen. Generellt sett är en sträng mindre än den andra om den kommer före den andra 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 } }
Produktion:
Förklaring av exempel
I exemplet ovan har vi tagit fem ingångssträngar och gjort en grundläggande jämförelse mellan dem med .compareTo () Java-metoden. I den första jämförelsen har vi 'A' större än 'G' med 6 tecken i alfabetsserien, så det returnerar +6. I den andra jämförelsen har vi 'C' mindre än 'A' med 2 tecken, så det returnerar -2.
I den senaste jämförelsen (mellan str1 och str5), eftersom båda strängarna är lika, returnerar den 0.
Olika scenarier
Låt oss förstå .compareTo () -metoden i detalj. Här kommer vi att försöka analysera olika scenarier och resultatet i varje fall.
Scenario 1: Tänk på följande två strängar. Vi jämför dem och ser resultatet.
String str1 = “Software Testing”;
String str2 = “Software Testing Help”;
Vad blir resultatet av str1.compareTo (str2)?
Svar: Eftersom str2 innehåller 5 tecken (ett mellanslag + fyra tecken) mer än den första strängen. Utgången ska vara -5. På samma sätt, när vi jämför str2 med str1, bör utgången vara +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:
Scenario2: Tänk på följande två strängar. Vi jämför dem och ser resultatet.
Sträng str1 = “”;
Sträng str2 = ”“;
jämför två filer i linux och hitta skillnaderna
Vad blir resultatet av str1.compareTo (str2)?
Svar: Eftersom str2 innehåller ett tecken (mellanslag) mer än str1, bör det ge 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 } }
Produktion:
Scenario3: Tänk på följande två strängar. Vi jämför dem och ser resultatet.
Sträng str1 = “SAKET”;
Sträng str2 = “saket”;
Vad blir resultatet av str1.compareTo (str2)?
Svar: Här är strängarna lika men str1 har versaler medan str2 har gemener. Detta var begränsningen för metoden Java jämför till (). Utgången som vi får kommer att vara noll. För att övervinna detta problem introducerade Java en annan variant av .compareTo () -metoden som är
.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-sträng CompareToIgnoreCase () -metod
Eftersom vi har diskuterat problemet i fallmatchning (Scenario3) har vi redan en annan variant av .compareTo () -metoden som kommer att ignorera fallmatchningen mellan strängarna.
Syntax för denna metod ges som
int compareToIgnoreCase(String str)
Allt annat förblir detsamma utom det faktum att .compareToIgnoreCase () inte tar hänsyn till fallet.
Ett programmeringsexempel
Här är ett exempel på CompareTo () Java-metoden. I det här exemplet har vi illustrerat skillnaden i utdata från Java CompareTo () och CompareToIgnoreCase (). Java CompareTo () ger en skillnad på -32 medan jämförToIgnoreCase () ger en skillnad 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:
Förklaring av exempel:
I exemplet ovan har vi tagit två strängar som har samma värde för att hålla en sträng i versaler och en annan i gemener. Nu kommer en Java .compareTo () -metod att ge resultat baserat på ASCII-skillnaden i gemener och versaler eftersom det tar hänsyn till teckenfallet.
Men Java .compareToIgnoreCase () tar inte hänsyn till teckenfallet och ger ett resultat som 0 vilket innebär att båda strängarna är lika.
Vanliga frågor
F # 1) Vad är skillnaden mellan ==, lika och .compareTo ()?
Svar: Enlisted nedan är de viktigaste skillnaderna mellan ==, är lika med () och jämför med ().
!FEL! oväntad operatör '=' | är lika med () | jämföra med() |
---|---|---|
!FEL! oväntad operatör '=' | lika () är en metod. | CompareTo () är en metod. |
!FEL! oväntad operatör '=' | equals () -metoden gör innehållsjämförelsen. | CompareTo () gör jämförelsen baserat på ASCII-värde. |
Returtypen är boolesk. | Returtypen är boolesk. | Returtypen är heltal. |
Den använder referensen för strängvariabeln, så minnesadresserna bör vara desamma när de jämför. | Det kräver inte att objekten logiskt ordnas. | Det kräver att objekten ordnas logiskt. |
Här är ett programmeringsexempel som illustrerar skillnaden.
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:
F # 2) Är Java-jämförelsen till () skiftlägeskänslig?
Svar: Ja. Metoden Java .compareTo () tar hänsyn till bokstäverna och är skiftlägeskänslig.
Nedan är 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:
hur man skapar ny java-fil i förmörkelse
F # 3) Hur fungerar comparTo () i Java?
Svar: Java CompareTo () -metoden jämför faktiskt ASCII-värdena för tecknen i en sträng.
Låt oss säga att vi ska jämföra ett komma och ett mellanslagstecken med metoden .compareTo (). Som vi vet har ett mellanslag ett ASCII-värde 32 medan ett komma har ett ASCII-värde 44. Skillnaden mellan ASCII-värdet för utrymme och komma är 12.
Nedan följer programmeringsexemplet.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Produktion:
F # 4) Hur hittar man längden på en sträng med hjälp av Java .compareTo () -metoden?
Svar: Nedan ges programmet för att hitta längden på en sträng med hjälp av Java .compareTo () -metoden.
I det här exemplet har vi tagit en sträng vars längd vi måste hitta och en tom sträng. Sedan har vi jämfört strängen med den tomma strängen. Skillnaden mellan dem kommer att vara strängens längd.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Produktion:
F # 5) Vad returnerar metoden jämför till?
Svar: Java CompareTo () -metodens returtyp är heltal. Heltalsvärdet kan vara noll, positivt heltal eller negativt heltal.
Slutsats
I den här handledningen har vi förstått metoden Java String CompareTo () i detalj. Den grundläggande funktionaliteten, detaljerna om implementeringen och användningen, särskilt programmeringsexemplen, gavs för en bättre förståelse av konceptet relaterat till metoden String CompareTo ().
Läs också = >> Java-jämförbara och komparatorgränssnitt
Med den här metoden kan du jämföra två strängar och många andra användningsområden eller applikationsområden, som att hitta längden på strängen är också möjligt med hjälp av jämförelsenTo () -metoden som har täckts i de vanliga frågorna.
=> Besök här för den exklusiva Java-utbildningsserien.
Rekommenderad läsning
- Java String Tutorial | Java-strängmetoder med exempel
- Java String Split () Metod - Hur man delar upp en sträng i Java
- Java String med String Buffer och String Builder Tutorial
- Python-strängfunktioner
- Java String Array - Handledning med kodexempel
- ListIterator-gränssnitt i Java med exempel
- Java-gränssnitt och abstrakt klasshandledning med exempel
- OOP Java: Introduktion till objektorienterad programmering i Java