{"id":920,"date":"2018-01-22T05:28:10","date_gmt":"2018-01-22T05:28:10","guid":{"rendered":"https:\/\/manualjavaoracle.wordpress.com\/?p=920"},"modified":"2018-03-06T13:07:20","modified_gmt":"2018-03-06T18:07:20","slug":"cadenas","status":"publish","type":"post","link":"https:\/\/www.manualjava.net\/?p=920","title":{"rendered":"Cadenas"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-1271 alignnone\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/java71.jpg\" alt=\"\" width=\"227\" height=\"157\" \/><\/p>\n<p><span style=\"color: #000000;\">Las cadenas en Java son secuencias de caracteres Unicode. Java no tiene un tipo cadena incorporado. Sin embargo, existe en la biblioteca est\u00e1ndar de Java, una clase denominada String que est\u00e1 disponible cuando se programa en Java. Objetos de tipo String son cadenas de caracteres que se escriben dentro de dobles comillas. Cada cadena entrecomillada es una instancia de la clase String.<\/span><!--more--><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 String a = \u00bb \u00ab;\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ cadena vac\u00eda<br \/>\n<\/span>\u00a0 \u00a0 \u00a0 \u00a0 <span style=\"color: #000000;\">String saludo = \u00abHola\u00bb;\u00a0 <\/span><\/p>\n<p><span style=\"color: #000000;\">Se puede declarar una variable de tipo cadena.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 String ciudad;<\/span><br \/>\n<span style=\"color: #000000;\"> \u00a0 \u00a0 \u00a0 \u00a0 ciudad = \u00abTrujillo\u00bb;<\/span><\/p>\n<p><span style=\"color: #000000;\">Se pueden juntar la declaraci\u00f3n y asignaci\u00f3n.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 String ciudad = \u00abTrujillo\u00bb;<\/span><\/p>\n<p><span style=\"color: #000000;\">Se puede visualizar el objeto representando por la variable cadena, mediante<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 System.out.println(ciudad);<\/span><\/p>\n<h2><strong><span style=\"color: #000000;\">Concatenaci\u00f3n de cadenas<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\">Java, al igual que la mayor\u00eda de los lenguajes de programaci\u00f3n, permite usar el operador + para unir (concatenar) dos cadenas.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String nombre = \u00abCajamarca\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String frase;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 frase = nombre + \u00bb es muy bella\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System.out.println(frase);<\/span><\/p>\n<p><span style=\"color: #000000;\">Se visualiza la frase<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Cajamarca es muy bella<\/span><\/p>\n<p><span style=\"color: #000000;\">Cuando se concatena una cadena, con un valor que no es una cadena, el valor se convierte a cadena y se concatena. Por ejemplo:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0int edad = 20;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String nombre = \u00abAntony\u00bb + edad;<\/span><\/p>\n<p><span style=\"color: #000000;\">hacen que nombre se convierta en la cadena Antony20. Esta caracter\u00edstica se utiliza con frecuencia en sentencias de salida. Por ejemplo:\u00a0<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(\u00abLa soluci\u00f3n es \u00bb + resultado);<\/span><\/p>\n<p><span style=\"color: #000000;\">y si resultado es 44, se imprime:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0La soluci\u00f3n es 44<\/span><\/p>\n<h2><strong><span style=\"color: #000000;\">Las cadenas son inmutables<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\">En Java, un objeto de tipo String es un objeto inmutable lo que significa que los caracteres del objeto de String no se pueden cambiar. No existe ning\u00fan m\u00e9todo que cambie el valor de un objeto, como \u00abAntony\u00bb y en caso de desear cambiarla deber\u00e1 recurrir a concatenar la subcadena que desea reemplazar.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0\u00a0 String pueblo = \u00abMargarita\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0pueblo = \u00abPueblo de \u00bb + pueblo;<\/span><\/p>\n<p><span style=\"color: #000000;\">La sentencia de asignaci\u00f3n ha cambiado la variable pueblo a Pueblo de Margarita. Tambi\u00e9n se pueden realizar los cambios mediante el m\u00e9todo substring y la clase StringBuffer que tiene m\u00e9todos para modificar sus objetos cadena.<\/span><\/p>\n<h2><strong><span style=\"color: #000000;\">Subcadenas de la clase String<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\">El m\u00e9todo <strong>substring<\/strong> extrae una subcadena de una cadena. Las sentencias<\/span><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0<img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1277 aligncenter\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/cadena2.png?w=300\" alt=\"\" width=\"387\" height=\"107\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/cadena2.png 432w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/cadena2-300x83.png 300w\" sizes=\"(max-width: 387px) 100vw, 387px\" \/><\/span><\/p>\n<p><span style=\"color: #000000;\">crean la subcadena, de la posici\u00f3n 0, car\u00e1cter m\u00e1s a la izquierda, a la posici\u00f3n 3 inclusive; es decir la cadena cad = \u00abHola\u00bb. En la siguiente imagen muestra los n\u00fameros de posici\u00f3n de la subcadena.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0<img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1282 aligncenter\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/cadena-11.png?w=300\" alt=\"\" width=\"460\" height=\"89\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/cadena-11.png 618w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/cadena-11-300x58.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><\/span><\/p>\n<p><span style=\"color: #000000;\">Una ventaja a\u00f1adida a los \u00edndices del m\u00e9todo substring es que permite encontrar f\u00e1cilmente la longitud de la subcadena. La cadena ca.substring(n,m) tiene siempre la longitud m\u2013n.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 La subcadena Hola de longitud 4, es decir m\u2013n = 4\u20130 = 4<\/span><\/p>\n<h2><strong><span style=\"color: #000000;\">Longitud y comparaci\u00f3n de cadenas<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\">El m\u00e9todo <strong>length( )<\/strong> devuelve el n\u00famero de caracteres de un objeto String como un valor de tipo int.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String saludo = \u00abhola Mortimer\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System.out.println(\u00abLa longitud es: \u00bb + saludo.length( ));<\/span><\/p>\n<p><span style=\"color: #000000;\">Despu\u00e9s de la ejecuci\u00f3n de las sentencias anteriores se visualiza La longitud es 13. El m\u00e9todo length se utiliza para encontrar el n\u00famero de caracteres de una cadena; se puede utilizar en cualquier parte que se pueda utilizar un valor tipo int, como se ha hecho en el ejemplo anterior. Otra operaci\u00f3n muy usual cuando se trabaja con cadenas, es comparar dos cadenas para ver si son iguales o distintas. El m\u00e9todo <strong>equals<\/strong> devuelve true si son iguales y false en caso contrario.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Sintaxis<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 boolean equals(unaCadena);<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 devuelve true si el objeto de la cadena que llama y\u00a0<strong>unaCadena\u00a0<\/strong>son iguales.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s.equals(t)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve true si las cadenas <strong>s<\/strong> y<strong> t<\/strong> son iguales;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 false en caso contrario.<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s, t\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ variables cadena o constantes cadena.<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00abHola\u00bb.equals(saludo)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ sentencia v\u00e1lida.<\/span><\/p>\n<p><span style=\"color: #000000;\">Otras comparaciones realizadas con equals:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String saludo = \u00abHola\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0saludo.equals(\u00abHola\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve true<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0saludo.equals(\u00abAdios\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve false<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0saludo.equals(\u00abhola\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve false ya que Hola y hola no son iguales<\/span><\/p>\n<p><span style=\"color: #000000;\">Hola y hola no son iguales ya que una cadena comienza con una letra may\u00fascula y otra empieza con una letra min\u00fascula.<\/span><\/p>\n<p><span style=\"color: #000000;\">El m\u00e9todo <strong>equalsIgnoreCase<\/strong> permite comparar dos cadenas y ver si son id\u00e9nticas sin considerar la diferencia entre letras iguales may\u00fasculas y min\u00fasculas.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Sintaxis<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0boolean equalsIgnoreCase(unaCadena);<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00abHola\u00bb.equalsIgnoreCase(\u00abhola\u00bb)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve true<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String nombre = \u00ab\u00a1flanagan!\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0nombre.equalsIgnoreCase(\u00ab\u00a1Flanagan!\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve true<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Precauci\u00f3n<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">No utilizar el operador == para comprobar si dos cadenas son iguales. En caso de hacerlo, el operador determina si las cadenas se almacenan en la misma posici\u00f3n.<\/span><\/p>\n<p><span style=\"color: #000000;\">Normalmente, si las cadenas est\u00e1n en la misma posici\u00f3n, deben ser iguales; pero es posible almacenar m\u00faltiples copias de cadenas id\u00e9nticas en sitios diferentes.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String nombre = \u00abPedro\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (nombre == \u00abPedro\u00bb)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 . . .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ probablemente es false<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (nombre.substrin(0,3) == \u00abPed\u00bb)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 . . .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ probablemente es false<\/span><\/p>\n<h2><strong><span style=\"color: #000000;\">M\u00e9todos de la clase String<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\">La clase String tiene un n\u00famero de m\u00e9todos muy \u00fatiles que se pueden utilizar para aplicaciones de procesamiento de cadenas. Adem\u00e1s, existen cientos de clases en las bibliotecas est\u00e1ndar, con muchos m\u00e1s m\u00e9todos. Por consiguiente, es esencial que se familiarice con la documentaci\u00f3n API en l\u00ednea que le permite examinar todas las clases y m\u00e9todos de la biblioteca est\u00e1ndar. La documentaci\u00f3n API es parte del JDK, est\u00e1 en el formato HTML en la direcci\u00f3n<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"color: #000080;\"><a style=\"color: #000080;\" href=\"https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/index.html?java\/lang\/String.html\" target=\"_blank\" rel=\"noopener\"><strong>https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/index.html?java\/lang\/String.html<\/strong><\/a><\/span><\/p>\n<p><span style=\"color: #000000;\">La clase String de Java contiene m\u00e1s de 50 m\u00e9todos. La clase java.lang.String pertenece al paquete java.lang. A continuaci\u00f3n se muestra una lista de m\u00e9todos significativos.<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">char charAt(posicion)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve el car\u00e1cter del objeto cadena que se encuentra en posici\u00f3n. Las posiciones\u00a0se cuentan 0, 1, 2, etc\u00e9tera.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String saludo = \u00ab\u00a1Hola Ruiz!\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 saludo.charAt(0)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve \u00a1<\/span><br \/>\n<span style=\"color: #000000;\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 saludo.charAt(1)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve H<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">int compareTo(unaCadena)<\/span><\/strong><\/li>\n<\/ul>\n<p style=\"text-align: left;\"><span style=\"color: #000000;\">Compara el objeto cadena llamador y el argumento cadena para ver cu\u00e1l viene antes en el orden lexicogr\u00e1fico. El orden lexicogr\u00e1fico son los caracteres ordenados\u00a0seg\u00fan los c\u00f3digos ASCII o Unicode. En estos c\u00f3digos todas las letras may\u00fasculas y todas las letras min\u00fasculas est\u00e1n en orden alfab\u00e9tico\u00a0\u2013 num\u00e9rico pero todas las letras may\u00fasculas preceden a las letras min\u00fasculas. De este modo, la ordenaci\u00f3n lexicogr\u00e1fica es la misma que la ordenaci\u00f3n alfab\u00e9tica pero teniendo en cuenta may\u00fasculas y min\u00fasculas. Si la cadena llamadora es alfab\u00e9ticamente menor devuelve un valor negativo. Si las cadenas son iguales devuelve cero y si el argumento es alfab\u00e9ticamente menor devuelve un n\u00famero positivo.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String entrada = \u00abalbarricoque\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0entrada.compareTo(\u00abmargarita\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve un n\u00famero negativo<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0entrada.compareTo(\u00abalbarricoque\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve cero<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0entrada.compareTo(\u00abamnesia\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve un n\u00famero positivo<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">int compareToIgnoreCase(unaCadena)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Igual que <strong>compareTo\u00a0<\/strong>pero tratando las letras may\u00fasculas y las min\u00fasculas como si fueran iguales (es decir, las letras may\u00fasculas se tratan igual que si fueran letras min\u00fasculas al hacer la comparaci\u00f3n). Por consiguiente, si ambas cadenas constan totalmente de letras, la comparaci\u00f3n se realiza por estricto orden alfab\u00e9tico. Si la cadena llamadora est\u00e1 primero devuelve un valor negativo. Si las dos cadenas son iguales devuelve cero. Si el argumento est\u00e1 primero devuelve un n\u00famero positivo.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0String entrada = \u00abalbarricoque\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0entrada.compareToIgnoreCase(\u00abmargarita\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve un numero negativo<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0entrada.compareToIgnoreCase(\u00abAlbarricoque\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve cero<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0\u00abMargarita\u00bb.compareToIgnoreCase(entrada);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve un numero positivo<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">boolean endsWith(unaCadena)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve true si la cadena termina en unaCadena.<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">boolean equals(unaCadena)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve true si el objeto cadena llamador y unaCadena son iguales. En caso contrario devuelve false.<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">boolean equalsIgnoreCase(unaCadena)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve true si el objeto cadena llamador y unaCadena son iguales, considerando que las letras may\u00fasculas y min\u00fasculas son iguales.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String nombre = \u00abFernando\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 nombre.equalsIgnoreCase(\u00abfernando\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve true<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">int indexOf(String cad, int indiceFinal)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve el \u00edndice (posici\u00f3n) de la primera ocurrencia de la cadena cad en el objeto cadena llamador que ocurre despu\u00e9s de la posici\u00f3n indiceFinal. Las posiciones se cuentan 0, 1, 2, 3,\u00a0 . . .\u00a0 .Devuelve \u20131 si no encuentra cad.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String nombre = \u00abLuis,\u00a0 \u00a0Luis Mackoy\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 nombre.indexOf(\u00abLuis\u00bb, 1);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve 6<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 nombre.indexOf(\u00abLuis\u00bb, 0);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve 0<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 nombre.indexOf(\u00abLuis\u00bb, 9);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve -1<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">int lastIndexOf(String cad)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve el \u00edndice (posici\u00f3n) de la \u00faltima ocurrencia de la cadena cad en el objeto cadena llamador. Las posiciones se cuentan 0, 1, 2, 3, . . .\u00a0 .Devuelve \u20131 si no encuentra cad.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String nombre = \u00abMagina, Sierra Magina \u00ab;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 nombre.indexOf(\u00abMagina\u00bb, 0);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve 0<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 nombre.lastIndexOf(\u00abMagina\u00bb);\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve 13<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">int length()<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve la longitud de la cadena.<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">boolean startsWith(String prefijo)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve true si la cadena comienza con prefijo.<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">String substring(int inicioIndice)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve la subcadena del objeto cadena comenzando desde inicioIndice hasta el final de dicho objeto. Las posiciones se cuentan 0, 1, 2, 3,\u00a0 . . .<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0String prueba = \u00abMnopqrs\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 prueba.substring(3)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve \u00abpqrs\u00bb<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">String substring(int inicio, int fin)<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve la subcadena del objeto cadena que comienza en la posici\u00f3n inicio hasta la posici\u00f3n fin\u00a0\u20131.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String prueba = \u00abMnopqrs\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 prueba.substring(3,6)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve \u00abpqr\u00bb<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">String tolowerCase()<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve una nueva cadena que contiene todos los caracteres de la cadena original, con los caracteres en may\u00fasculas convertidos a letras min\u00fasculas.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String sierra = \u00abSierra de Lupiana\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 sierra.tolowerCase();\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve \u00absierra de lupiana\u00bb<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">String toUpperCase()<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve una cadena que contiene todos los caracteres de la cadena original, con los caracteres letras min\u00fasculas convertidos a letras may\u00fasculas.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String cadena = \u00abEl Negro Mama\u00bb;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 cadena.toUpperCase();\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ devuelve \u00abEL NEGRO MAMA\u00bb<\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000;\">String trim()<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Devuelve una nueva cadena eliminando todos los espacios en cabeza y cola de la cadena original.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 String miRio = \u00bb\u00a0 \u00a0 Rio Magdalena\u00a0 \u00a0 \u00ab;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 miRio.trim();\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ devuelve \u00abRio Magdalena\u00bb<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las cadenas en Java son secuencias de caracteres Unicode. Java no tiene un tipo cadena incorporado. Sin embargo, existe en la biblioteca est\u00e1ndar de Java, una clase denominada String que est\u00e1 disponible cuando se programa en Java. Objetos de tipo String son cadenas de caracteres que se escriben dentro de dobles comillas. Cada cadena entrecomillada &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.manualjava.net\/?p=920\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1271,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/920"}],"collection":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=920"}],"version-history":[{"count":2,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/920\/revisions"}],"predecessor-version":[{"id":2697,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/920\/revisions\/2697"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/media\/1271"}],"wp:attachment":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}