Cargando



Clase String en Java

En este tutorial vamos a ver algunos de los fundamentos básicos de la clase String en Java.


jun 15 2014 15:38
Avanzado
jun 16 2014 08:48
Un string sabemos que es una secuencia de caracteres, en muchos otros lenguajes de programación dichos strings son tratados como arrays de caracteres, sin embargo, en Java estos son objetos.

Sabiendo lo anterior debemos conocer entonces que en Java existe la llamada clase String que cuenta con unos 11 constructores y más de 40 métodos que nos permiten manipular dichos objetos y que nos facilitan la vida programando.

Pero no solo queda ahí, también esta clase nos ayuda a entender de mejor forma los conceptos de orientación a objetos dentro de la programación en Java.

Construir un String 
Podemos construir un objeto String a partir de un literal o también podemos crear uno utilizando un array de caracteres, para el primer caso podemos utilizar una sintaxis como la siguiente:

String nuestroString = new String(nuestroLiteral);

Como vemos es la sintaxis básica de la construcción de un objeto común, donde nuestro string será el objeto y nuestro literal es la secuencia de caracteres, veamos un ejemplo un poco más cercano a lo que podemos ver en nuestros programas:

String mensaje = new String("Bienvenido a Java");

También podemos crear un string a partir de un array, esto puede ser útil en algunos casos, veamos cómo podemos lograr esto:

char[] nuestroArray = {'H', 'o', 'l', 'a', ' ', 'J', 'a', 'v','a'};
String mensaje = new String(nuestroArray);

Podemos observar que la única diferencia fue la construcción del parámetro que toma el constructor de la clase String, esto nos da una idea más clara de cómo han hecho una buena sobre carga de los métodos constructores.

Objeto Inmutable 
Algo que debemos tener bastante en claro es que cuando creamos un objeto de String este es inmutable, es decir, su contenido no puede ser cambiado, veamos en la siguiente imagen un ejemplo sencillo:

java_clase_string.jpg


En este ejemplo primero hemos creado un objeto String al que le hemos asignado como literal “Java”, luego al objeto que fue denominado “s” le asignamos un nuevo literal “HTML”, pero en realidad no hay dicha asignación, si no que en la segunda línea lo que hacemos es crear un nuevo objeto y cambiamos la referencia hacia este, por lo que el objeto que contiene el literal “Java” aún existe pero no podemos acceder a él ya que hemos perdido dicha referencia.

Acercamiento Diferente 
Debido a lo que hemos visto en el punto anterior, Java tiene una forma en particular para declarar las instancias de la clase String, dependiendo de esto utilizará o no un objeto especial que será el mismo para las secuencias de caracteres iguales, esto se conoce como objeto “interned”, veamos la siguiente imagen con un pequeño ejemplo:




java_clase_string2.jpg

Tenemos 3 objetos que hemos creado de tipo String sin embargo solo el primero y el tercero lo hacemos de la forma interned y el segundo le hacemos una declaración “normal”, lo que sucede es que cuando queremos imprimir la comparación entre los mismos, vemos que el primero y el tercero serán iguales y a esto es a lo que nos referíamos al momento de hablar del objeto “interned”.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X