Lectura Clase String
Lectura Clase String
Desde el punto de vista de la programación diaria, uno de los tipos de datos más importantes de Java
es String. String define y admite cadenas de caracteres. En algunos otros lenguajes de programación,
una cadena o string es una matriz o array de caracteres. Este no es el caso con Java. En Java, los String
son objetos.
En realidad, has estado usando la clase String desde el comienzo del curso, pero no lo sabías. Cuando
crea un literal de cadena, en realidad está creando un objeto String. Por ejemplo, en la declaración:
El String «En Java, los String son objetos». automáticamente se convierte en un objeto String por Java.
Por lo tanto, el uso de la clase String ha estado «debajo de la superficie» en los programas anteriores. En
las siguientes secciones, aprenderá a manejarlo de manera explícita. Tenga en cuenta, sin embargo, que
la clase String es bastante grande, y solo arañaremos su superficie aquí. Es una clase que querrás
explorar por sí misma.
Tabla de Contenido
1. Construyendo String
2. Operando con Métodos de la clase String
3. Ejemplo de todos los métodos de String
4. Arrays de Strings
5. Los String son inmutables
6. String en Argumentos de Línea de Comandos
1. Construyendo String
Puede construir un String igual que construye cualquier otro tipo de objeto: utilizando new y llamando al
constructor String. Por ejemplo:
Después de que esta secuencia se ejecuta, str2 también contendrá la cadena de caracteres «Hola». Otra
forma fácil de crear una cadena se muestra aquí:
String str = "Estoy aprendiendo sobre String en JavadesdeCero.";
// Uso de String
class DemoString
{
public static void main(String args[])
{
//Declaración de String de diferentes maneras
String str1=new String("En Java, los String son objetos");
String str2=new String("Se construyen de varias maneras");
String str3=new String(str2);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
}
La clase String contiene varios métodos que operan en cadenas. Aquí se detallan todos los métodos:
String substring (int i): Devuelve la subcadena del i-ésimo carácter de índice al final.
"Javadesdecero.es".substring(4); // retorna desdecero.es
String concat( String str): Concatena la cadena especificada al final de esta cadena.
String s1 = "Java";
String s2 = "desdeCero;
String salida = s1.concat(s2); // retorna "JavadesdeCero"
int indexOf (String s): Devuelve el índice dentro de la cadena de la primera aparición de la
cadena especificada.
int indexOf (String s, int i): Devuelve el índice dentro de la cadena de la primera aparición de la
cadena especificada, comenzando en el índice especificado.
Int lastIndexOf (int ch): Devuelve el índice dentro de la cadena de la última aparición de la
cadena especificada.
boolean equals (Objeto otroObjeto): Compara este String con el objeto especificado.
boolean equalsIgnoreCase (String otroString): Compares string to another string, ignoring case
considerations.
String replace (char oldChar, char newChar): Devuelve una nueva cadena al reemplazar todas
las ocurrencias de oldChar con newChar.
class DemoMetodosString
{
public static void main (String[] args)
{
String s= "JavadesdeCero";
// o String s= new String ("JavadesdeCero");
// Conversión de cases
String palabra1 = "JavadesdeCero";
System.out.println("Cambiando a minúsculas: " +
palabra1.toLowerCase());
// Conversión de cases
String palabra2 = "JavadesdeCero";
System.out.println("Cambiando a MAYÚSCULAS: " +
palabra1.toUpperCase());
// Recortando la palabra
String word4 = " JavadesdeCero ";
System.out.println("Recortando la palabra: " + word4.trim());
// Reemplazar caracteres
String str1 = "YavadesdeCero";
System.out.println("String Original: " + str1);
String str2 = "YavadesdeCero".replace('Y' ,'J') ;
System.out.println("Reemplazando Y por J -> " + str2);
}
}
Salida:
String length = 13
Character at 3rd position = a
Substring adesdeCero
Substring = vad
String concatenado = JavadesdeCero
Índice de Cero: 11
Índice de a = 3
Comprobando la igualdad: false
Comprobando la igualdad: true
Comprobando la igualdad: false
Si s1 = s2: false
Cambiando a minúsculas: javadesdecero
Cambiando a MAYÚSCULAS: JAVADESDECERO
Recortando la palabra: JavadesdeCero
String Original: YavadesdeCero
Reemplazando Y por J -> JavadesdeCero
4. Arrays de Strings
Al igual que cualquier otro tipo de datos, los String se pueden ensamblar en arrays. Por ejemplo:
//Cambiando un String
str[1]="Curso";
str[2]="Online";
Array Original:
JavadesdeCero
Array Modificado:
JavaCursoOnline
Cuando necesite una cadena que sea una variación de una que ya existe, simplemente cree una nueva
cadena que contenga los cambios deseados. Como los objetos String no utilizados se recolectan de
forma automática, ni siquiera tiene que preocuparse por lo que sucede con las cadenas descartadas. Sin
embargo, debe quedar claro que las variables de referencia de cadena pueden, por supuesto, cambiar el
objeto al que hacen referencia. Es solo que el contenido de un objeto String específico no se puede
cambiar después de haber sido creado.
Para comprender completamente por qué las cadenas inmutables no son un obstáculo, utilizaremos
otro de los métodos de String: substring(). El método substring() devuelve una nueva cadena que
contiene una parte especificada de la cadena invocadora. Como se fabrica un nuevo objeto String que
contiene la subcadena, la cadena original no se altera y la regla de inmutabilidad permanece intacta. La
forma de substring( ) que vamos a utilizar se muestra aquí:
// uso de substring()
class SubString
{
public static void main (String[] args)
{
String str="Java desde Cero";
//Construyendo un substring
String substr=str.substring(5,15);
System.out.println("str: "+str);
System.out.println("substr: "+substr);
}
}
Salida:
Ahora que conoce la clase String, puede comprender el parámetro args en main() que ha estado en cada
programa mostrado hasta ahora. Muchos programas aceptan lo que se llaman argumentos de línea de
comandos. Un argumento de línea de comandos es la información que sigue directamente el nombre
del programa en la línea de comando cuando se ejecuta.
Para acceder a los argumentos de la línea de comandos dentro de un programa Java es bastante fácil: se
almacenan como cadenas en la matriz String pasada a main (). Por ejemplo, el siguiente programa
muestra todos los argumentos de línea de comandos con los que se llama:
class DemoLC
{
public static void main (String[] args)
{
System.out.println("Aquí se muestran "+ args.length + " argumentos de línea de comando.");
Strin
g en Argumentos de Línea de Comandos
Observe que el primer argumento se almacena en el índice 0, el segundo argumento se almacena en el
índice 1, y así sucesivamente.
Para tener una idea de la forma en que se pueden usar los argumentos de la línea de comandos,
considere el siguiente programa. Se necesita un argumento de línea de comandos que especifique el
nombre de una persona. Luego busca a través de una matriz bidimensional de cadenas para ese
nombre. Si encuentra una coincidencia, muestra el número de teléfono de esa persona.
class Telefono
{
public static void main (String[] args)
{
String numeros[][]={
{ "Alex", "123-456"},
{ "Juan", "145-478"},
{ "Javier", "789-457"},
{ "Maria", "784-554"}
};
int i;
if (args.length != 1)
System.out.println("Ejecute así: java Telefono <nombre>");
else {
for (i = 0; i < numeros.length; i++) {
System.out.println(numeros[i][0] + ": " + numeros[i][1]);
break;
}
if (i == numeros.length)
System.out.println("Nombre no encontrado.");
}
}
}
Tomado de https://javadesdecero.es/clases/string/