Una de las cosas más habituales que creo que se hacen en todos los lenguajes de programación es el manejar cadenas de texto, por ejemplo para mostrar mensajes al usuario. Sabiendo esto, ¿qué es un String en Java?

String

Un String es una clase de Java, pero es una clase un tanto especial. Por un lado es la clase que seguramente más utilicéis nunca dentro de la programación en Java, y por otro lado es que se puede utilizar de maneras muy diferentes, de ahí lo especialita que es.

Pero, ¿qué es un String en Java? Como su nombre dice (en inglés, claro), es un texto y es guardado y manejado por un objeto, el cuál es una instancia de una clase llamada String.

Como os comenté anteriormente en esta entrada, podemos crear un objeto de la siguiente forma:

String str = new String();

Aunque también podemos utilizar el constructor para inicializarlo (es decir, darle un valor inicial):

String str = new String("Hello");

Nota: Un String es una clase muy especial, es diferente y es posible inicializarla de otra manera, por ejemplo así:

String str = "Hello";

Este último ejemplo llama directamente al constructor con el parámetro “Hello”.

Genial, ahora que sabemos como tener un objeto instanciado de una clase String, ¿qué podemos hacer con él?

Siempre, cuando quieres utilizar una clase en Java por primera vez, me gusta echarle un vistazo a la documentación de la API de Java de Oracle porque ahí encuentras un montón de información sobre la clase: descripción, jerarquía, métodos, etc. y siempre está muy bien saber esas cosas por si podemos utilizarla de alguna manera concreta. Esta documentación está creada automáticamente con una utilidad llamada JavaDoc (ya escribiré alguna entrada hablando de esta herramienta).

Venga, vamos a echar un vistazo de que cosas podemos hacer:

  • Podemos… imprimirlo:
    String str = "Hello";
    
    System.out.println(str);
  • Podemos… añadir otro String:
    String str1 = "Hello";
    String str2 = " World";
    String str = str1 + str2;
    System.out.println (str);

    o también podemos hacerlo de esta otra manera:

    String str1 = "Hello";
    String str2 = " World";
    str1 = str1.concat(str2);
    System.out.println (str1);

    Mostrando ambos el mismo mensaje de “Hello World”.

  • Podemos… reemplazar una cadena de texto por otra:
    String str1 = "Hello World";
    str1 = str1.replace("Hello", "Bye");
    System.out.println (str1);

    Se verá el mensaje de “Bye World”.

  • Podemos… buscar un carácter o una cadena de texto:
    String str = "Hello World";
    int pos = str.indexOf("W");
    System.out.println (pos);

    Y la salida será de 6… Sí, tus ojos no te engañan. ¿Por qué obtenemos una posición de 6 en lugar de 7? Pues porque empezamos a contar en 0 en lugar de 1.

Y muchas más operaciones que están disponibles si le echas un vistazo a la API de Java.

Hay un último detalle muy importante sobre la clase String y es su forma de trabajar con la memoria y su forma de consumirla de manera exagerada. Ahora mismo no hace falta que os precupeis, pero en el futuro hablaré sobre malas prácticas con estos objetos.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>