java string compareto method with programming examples
En aquest tutorial, coneixerem el mètode Java String compareTo () i veurem com i quan utilitzar compareTo a Java juntament amb la sintaxi i els exemples:
Comprendreu com manipular Java String amb l'ajut del mètode Java compareTo (). Els tipus de sortida que obtindrem a través del mètode Java compareTo () també es tractaran en aquest tutorial.
Després de llegir aquest tutorial, definitivament podreu entendre i escriure els programes de Java String que requereixen el mètode .compareTo () per a la manipulació de String.
=> Consulteu la guia de formació Java perfecta aquí.
Què aprendreu:
Mètode Java String compareTo ()
El mètode Java String compareTo () s’utilitza per comprovar si dues cadenes són idèntiques o no. Com el seu nom indica, compara dues cadenes donades i esbrina si són iguals o quina és més gran.
El tipus de retorn del mètode Java compareTo () és un enter i la sintaxi es dóna com:
int compareTo(String str)
A la sintaxi anterior, str és una variable de cadena que es compara amb la cadena que invoca.
Per exemple: String1.compareTo (String2);
Una altra variació de Java compareTo () és
int compareTo(Object obj)
A la sintaxi anterior, compararem una cadena amb un object object.
Per exemple ,String1.compareTo ('Aquest és un objecte de cadena');
Aquí “This is a String Object” és un argument que passem al compareTo () i el compara amb String1.
Java compareTo () Tipus de sortida del mètode
La sortida té tres tipus que es basen en el valor de sortida.
A continuació es mostra la taula que explica els tres tipus de valors de sortida.
compareTo () Valor de sortida | Descripció |
---|---|
Zero | Dues cordes són iguals. |
Més gran que zero | La cadena que invoca és més gran que str. |
Menys de zero | La cadena invocadora és inferior a str. |
Comprenguem aquestes tres variants en detall amb l’ajut d’un exemple.
Un exemple de programació
Aquí teniu un exemple del mètode Java compareTo (). La comparació es basa en la diferència del valor ASCII dels caràcters. En termes generals, una cadena és inferior a l’altra si apareix abans que l’altra al diccionari.
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 } }
Sortida:
Explicació de l'exemple
A l'exemple anterior, hem pres cinc cadenes d'entrada i hem fet una comparació bàsica entre elles mitjançant el mètode Java .compareTo (). A la primera comparació, tenim 'A' superior a 'G' per 6 caràcters a la sèrie alfabètica, de manera que retorna +6. A la segona comparació, tenim 'C' més petita que 'A' per 2 caràcters, de manera que retorna -2.
A la darrera comparació (entre str1 i str5), com que les dues cadenes són iguals, retorna 0.
Diversos escenaris
Anem a entendre el mètode .compareTo () en detall. Aquí intentarem analitzar diferents escenaris i la producció de cada cas.
Escenari 1: Penseu en les següents dues cadenes. Els compararem i veurem la sortida.
String str1 = 'Proves de programari';
String str2 = 'Ajuda de proves de programari';
Quina serà la sortida de str1.compareTo (str2)?
Resposta: Com que str2 conté 5 caràcters (un espai + quatre caràcters) més que la primera cadena. La sortida ha de ser -5. De la mateixa manera, quan comparem str2 amb str1, la sortida hauria de ser +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 } }
Sortida:
Escenari 2: Penseu en les següents dues cadenes. Els compararem i veurem la sortida.
String str1 = '';
String str2 = '';
preguntes i respostes d’entrevistes de seleni pdf
Quina serà la sortida de str1.compareTo (str2)?
Resposta: Com que str2 conté un caràcter (espai) més que el str1, hauria de donar la sortida com a -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 } }
Sortida:
Escenari 3: Penseu en les següents dues cadenes. Els compararem i veurem la sortida.
String str1 = 'SAKET';
String str2 = 'saket';
Quina serà la sortida de str1.compareTo (str2)?
Resposta: Aquí les cadenes són iguals però str1 té majúscules mentre que str2 té minúscules. Aquesta era la limitació del mètode Java compareTo (). La sortida que obtindrem serà diferent de zero. Per superar aquest problema, Java va introduir una altra variació del mètode .compareTo () que és
.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 } }
Sortida:
Mètode Java String compareToIgnoreCase ()
Com hem comentat el problema en el desajustament de casos (escenari3), ja tenim una altra variant del mètode .compareTo () que ignorarà el desajustament de majúscules i minúscules de les cadenes.
La sintaxi d'aquest mètode es dóna com
int compareToIgnoreCase(String str)
Tota la resta continua igual, excepte el fet que .compareToIgnoreCase () no té en compte el desajustament de casos.
Un exemple de programació
Aquí teniu un exemple del mètode Java compareTo (). En aquest exemple, hem il·lustrat la diferència en les sortides de Java compareTo () i compareToIgnoreCase (). Java compareTo () donarà una diferència de -32 mentre que compareToIgnoreCase () donarà una diferència de 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)); } }
Sortida:
Explicació de l'exemple:
A l'exemple anterior, hem pres dues cadenes que tenen el mateix valor mantenint una cadena en majúscula i una altra en minúscula. Ara, un mètode Java .compareTo () proporcionarà resultats basats en la diferència ASCII en el valor de les minúscules i majúscules, ja que tindrà en compte el cas de caràcters.
Però Java .compareToIgnoreCase () no tindrà en compte el cas de caràcters i donarà un resultat com a 0 que significa que ambdues cadenes són iguals.
Preguntes freqüents
Q # 1) Quina diferència hi ha entre ==, és igual i .compareTo ()?
Resposta: A continuació es detallen les principals diferències entre ==, equals () i compareTo ().
! ERROR! operador inesperat '=' | és igual() | comparat amb() |
---|---|---|
! ERROR! operador inesperat '=' | equals () és un mètode. | compareTo () és un mètode. |
! ERROR! operador inesperat '=' | equals () fa la comparació del contingut. | compareTo () fa la comparació basada en el valor ASCII. |
El tipus de retorn és booleà. | El tipus de retorn és booleà. | El tipus de retorn és Enter. |
Utilitza la referència de la variable String, de manera que les adreces de memòria haurien de ser les mateixes en comparar. | No requereix ordenar lògicament els objectes. | Requereix ordenar lògicament els objectes. |
Aquí teniu un exemple de programació que il·lustra la diferència.
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)); } }
Sortida:
Q # 2) El mètode Java compareTo () distingeix entre majúscules i minúscules?
Resposta: Sí. El mètode Java .compareTo () té en compte els caràcters entre majúscules i minúscules.
A continuació es mostra la il·lustració.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Sortida:
el millor programari de recuperació de dades de Windows 10
Q # 3) Com funciona compareTo () a Java?
Resposta: El mètode Java compareTo () realment compara els valors ASCII dels caràcters d’una cadena.
Diguem que compararem una coma i un caràcter espacial mitjançant el mètode .compareTo (). Com sabem, un caràcter d’espai té un valor ASCII 32 mentre que una coma té un valor ASCII 44. La diferència entre el valor ASCII de l’espai i la coma és 12.
A continuació es mostra l’exemple de programació.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Sortida:
Q # 4) Com es pot trobar la longitud d'una cadena mitjançant el mètode Java .compareTo ()?
Resposta: A continuació es mostra el programa per trobar la longitud d’una cadena mitjançant el mètode Java .compareTo ().
En aquest exemple, hem pres una cadena la longitud de la qual hem de trobar i una cadena buida. A continuació, hem comparat la cadena amb la cadena buida. La diferència entre ells serà la longitud de la corda.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Sortida:
P # 5) Què retorna el mètode compareTo?
Resposta: El tipus de retorn del mètode Java compareTo () és sencer. El valor enter pot ser zero, enter positiu o enter negatiu.
Conclusió
En aquest tutorial, hem entès detalladament el mètode Java String compareTo (). Es van proporcionar la funcionalitat bàsica, els detalls sobre la implementació i l’ús, especialment els exemples de programació, per a una millor comprensió del concepte relacionat amb el mètode String compareTo ().
Llegiu també = >> Interfícies comparables i comparables de Java
Mitjançant aquest mètode, podeu comparar dues cadenes i molts altres usos o àrees d’aplicació, com també és possible trobar la longitud de la cadena amb l’ajut del mètode compareTo () que s’ha tractat en les preguntes més freqüents.
=> Visiteu aquí la sèrie exclusiva de cursos de formació de Java.
Lectura recomanada
- Tutorial de cadenes de Java | Mètodes de cadena Java amb exemples
- Mètode Java String Split (): com es pot dividir una cadena a Java
- Java String amb buffer de cadenes i tutorial de Generador de cadenes
- Funcions de cadena de Python
- Matriu de cadenes de Java: tutorial amb exemples de codi
- Interfície ListIterator a Java amb exemples
- Interfície Java i tutoria de classes abstractes amb exemples
- OOP Java: Introducció a la programació orientada a objectes a Java