String es una secuencia de caracteres. En java, los objetos de String son inmutables, lo que significa una constante y no se pueden cambiar una vez creados.
Crear una string
Hay dos formas de crear strings en Java:
- Literal de string
String s = “GeeksforGeeks”;
- Usando una nueva palabra clave
String s = new String (“GeeksforGeeks”);
Constructores
- String (byte [] byte_arr) : construye una nueva string decodificando la array de bytes . Utiliza el conjunto de caracteres predeterminado de la plataforma para la decodificación.
Ejemplo:byte[] b_arr = {71, 101, 101, 107, 115}; String s_byte =new String(b_arr); //Geeks
- String (byte [] byte_arr, Charset char_set) : construye una nueva string decodificando la array de bytes . Utiliza char_set para decodificar.
Ejemplo:byte[] b_arr = {71, 101, 101, 107, 115}; Charset cs = Charset.defaultCharset(); String s_byte_char = new String(b_arr, cs); //Geeks
- String (byte [] byte_arr, String char_set_name) : construye una nueva string decodificando la array de bytes . Utiliza char_set_name para decodificar.
Se ve similar a las construcciones anteriores y aparecen antes de funciones similares, pero toma String (que contiene char_set_name) como parámetro, mientras que el constructor anterior toma CharSet.
Ejemplo:byte[] b_arr = {71, 101, 101, 107, 115}; String s = new String(b_arr, "US-ASCII"); //Geeks
- String (byte [] byte_arr, int start_index, int length) : construye una nueva string a partir de la array de bytes según start_index (ubicación inicial) y longitud (número de caracteres desde la ubicación inicial).
Ejemplo:byte[] b_arr = {71, 101, 101, 107, 115}; String s = new String(b_arr, 1, 3); // eek
- String (byte [] byte_arr, int start_index, int length, Charset char_set) : construye una nueva string a partir de la array de bytes según start_index (ubicación inicial) y longitud (número de caracteres desde la ubicación inicial) . Utiliza char_set para decodificar.
Ejemplo:byte[] b_arr = {71, 101, 101, 107, 115}; Charset cs = Charset.defaultCharset(); String s = new String(b_arr, 1, 3, cs); // eek
- String (byte [] byte_arr, int start_index, int length, String char_set_name) : construye una nueva string a partir de la array de bytes según start_index (ubicación inicial) y longitud (número de caracteres desde la ubicación inicial) . Utiliza char_set_name para decodificar.
Ejemplo:byte[] b_arr = {71, 101, 101, 107, 115}; String s = new String(b_arr, 1, 4, "US-ASCII"); // eeks
- String(char[] char_arr) – Asigna una nueva string de la array de caracteres dada.
Ejemplo:char char_arr[] = {'G', 'e', 'e', 'k', 's'}; String s = new String(char_arr); //Geeks
- String(char[] char_array, int start_index, int count) : asigna una string de una array de caracteres determinada, pero elige contar caracteres de start_index .
Ejemplo:char char_arr[] = {'G', 'e', 'e', 'k', 's'}; String s = new String(char_arr , 1, 3); //eek
- String(int[] uni_code_points, int offset, int count) : asigna una string de un uni_code_array pero elige los caracteres de recuento de start_index .
Ejemplo:int[] uni_code = {71, 101, 101, 107, 115}; String s = new String(uni_code, 1, 3); //eek
- String(StringBuffer s_buffer) – Asigna una nueva string de la string en s_buffer
Ejemplo:StringBuffer s_buffer = new StringBuffer("Geeks"); String s = new String(s_buffer); //Geeks
- String(StringBuilder s_builder) : asigna una nueva string de la string en s_builder
Ejemplo:StringBuilder s_builder = new StringBuilder("Geeks"); String s = new String(s_builder); //Geeks
Métodos de string
- int length(): Devuelve el número de caracteres en la String.
"GeeksforGeeks".length(); // returns 13
- Char charAt(int i) : Devuelve el carácter en el i -ésimo índice.
"GeeksforGeeks".charAt(3); // returns ‘k’
- Substring de string (int i) : devuelve la substring desde el i -ésimo carácter de índice hasta el final.
"GeeksforGeeks".substring(3); // returns “ksforGeeks”
- String substring (int i, int j) : Devuelve la substring del índice i al índice j-1.
"GeeksforGeeks".substring(2, 5); // returns “eks”
- String concat( String str) : Concatena la string especificada al final de esta string.
String s1 = ”Geeks”; String s2 = ”forGeeks”; String output = s1.concat(s2); // returns “GeeksforGeeks”
- int indexOf (String s) : Devuelve el índice dentro de la string de la primera aparición de la string especificada.
String s = ”Learn Share Learn”; int output = s.indexOf(“Share”); // returns 6
- int indexOf (String s, int i) : Devuelve el índice dentro de la string de la primera aparición de la string especificada, comenzando en el índice especificado.
String s = ”Learn Share Learn”; int output = s.indexOf("ea",3);// returns 13
- Int lastIndexOf( String s) : Devuelve el índice dentro de la string de la última aparición de la string especificada.
String s = ”Learn Share Learn”; int output = s.lastIndexOf("a"); // returns 14
- boolean equals( Object otherObj): compara esta string con el objeto especificado.
Boolean out = “Geeks”.equals(“Geeks”); // returns true Boolean out = “Geeks”.equals(“geeks”); // returns false
- boolean equalsIgnoreCase (String anotherString) : compara una string con otra string, ignorando las consideraciones de mayúsculas y minúsculas.
Boolean out= “Geeks”.equalsIgnoreCase(“Geeks”); // returns true Boolean out = “Geeks”.equalsIgnoreCase(“geeks”); // returns true
- int compareTo( String anotherString) : Compara lexicográficamente dos strings.
int out = s1.compareTo(s2); // where s1 ans s2 are // strings to be compared This returns difference s1-s2. If : out < 0 // s1 comes before s2 out = 0 // s1 and s2 are equal. out > 0 // s1 comes after s2.
- int compareToIgnoreCase( String anotherString): compara dos strings lexicográficamente, ignorando las consideraciones de mayúsculas y minúsculas.
int out = s1.compareToIgnoreCase(s2); // where s1 ans s2 are // strings to be compared This returns difference s1-s2. If : out < 0 // s1 comes before s2 out = 0 // s1 and s2 are equal. out > 0 // s1 comes after s2.
Nota: en este caso, no considerará el caso de una letra (ignorará si es mayúscula o minúscula).
- String toLowerCase() : Convierte todos los caracteres de String a minúsculas.
String word1 = “HeLLo”; String word3 = word1.toLowerCase(); // returns “hello"
- String toUpperCase() : Convierte todos los caracteres de String a mayúsculas.
String word1 = “HeLLo”; String word2 = word1.toUpperCase(); // returns “HELLO”
- String trim() : Devuelve la copia de String, eliminando los espacios en blanco en ambos extremos. No afecta los espacios en blanco en el medio.
String word1 = “ Learn Share Learn “; String word2 = word1.trim(); // returns “Learn Share Learn”
- String replace (char oldChar, char newChar) : devuelve una nueva string reemplazando todas las apariciones de oldChar con newChar.
String s1 = “feeksforfeeks“; String s2 = “feeksforfeeks”.replace(‘f’ ,’g’); // returns “geeksgorgeeks”
Nota: – s1 sigue siendo feeksforfeeks y s2 es geeksgorgeeks
Programa para ilustrar todos los métodos de string:
// Java code to illustrate different constructors and methods // String class. import java.io.*; import java.util.*; class Test { public static void main (String[] args) { String s= "GeeksforGeeks" ; // or String s= new String ("GeeksforGeeks"); // Returns the number of characters in the String. System.out.println( "String length = " + s.length()); // Returns the character at ith index. System.out.println( "Character at 3rd position = " + s.charAt( 3 )); // Return the substring from the ith index character // to end of string System.out.println( "Substring " + s.substring( 3 )); // Returns the substring from i to j-1 index. System.out.println( "Substring = " + s.substring( 2 , 5 )); // Concatenates string2 to the end of string1. String s1 = "Geeks" ; String s2 = "forGeeks" ; System.out.println( "Concatenated string = " + s1.concat(s2)); // Returns the index within the string // of the first occurrence of the specified string. String s4 = "Learn Share Learn" ; System.out.println( "Index of Share " + s4.indexOf( "Share" )); // Returns the index within the string of the // first occurrence of the specified string, // starting at the specified index. System.out.println( "Index of a = " + s4.indexOf( 'a' , 3 )); // Checking equality of Strings Boolean out = "Geeks" .equals( "geeks" ); System.out.println( "Checking Equality " + out); out = "Geeks" .equals( "Geeks" ); System.out.println( "Checking Equality " + out); out = "Geeks" .equalsIgnoreCase( "gEeks " ); System.out.println( "Checking Equality " + out); //If ASCII difference is zero then the two strings are similar int out1 = s1.compareTo(s2); System.out.println( "the difference between ASCII value is=" +out1); // Converting cases String word1 = "GeeKyMe" ; System.out.println( "Changing to lower Case " + word1.toLowerCase()); // Converting cases String word2 = "GeekyME" ; System.out.println( "Changing to UPPER Case " + word2.toUpperCase()); // Trimming the word String word4 = " Learn Share Learn " ; System.out.println( "Trim the word " + word4.trim()); // Replacing characters String str1 = "feeksforfeeks" ; System.out.println( "Original String " + str1); String str2 = "feeksforfeeks" .replace( 'f' , 'g' ) ; System.out.println( "Replaced f with g -> " + str2); } } |
Producción :
String length = 13 Character at 3rd position = k Substring ksforGeeks Substring = eks Concatenated string = GeeksforGeeks Index of Share 6 Index of a = 8 Checking Equality false Checking Equality true Checking Equality false the difference between ASCII value is=-31 Changing to lower Case geekyme Changing to UPPER Case GEEKYME Trim the word Learn Share Learn Original String feeksforfeeks Replaced f with g -> geeksgorgeeks
Para Set – 2 puede consultar: Clase Java.lang.String en Java | conjunto 2
Este artículo es una contribución de Rahul Agrawal. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA