Contenido del Curso
Java Extended
Java Extended
Método toString()
¿Cómo imprimir un objeto más fácilmente?
Para mostrar todos los datos de un objeto utilizando el comando System.out.println(object);
en Java, existe un método llamado toString();
.
toString()
El método toString
en Java es un método incorporado que pertenece a la clase Object
. Se utiliza para devolver una representación en cadena de un objeto. Por defecto, cuando llamamos a toString
en un objeto, devuelve una cadena que contiene el nombre de la clase seguido del hashcode del objeto.
Veamos el ejemplo:
Main.java
Código Hash
Un código hash, en términos sencillos, es un identificador único para un objeto que está almacenado en la memoria. También podemos ver el código hash de un objeto llamando al método hashCode()
en él, por ejemplo:
Main.java
En ese caso, surge la pregunta: ¿cómo podemos obtener algo más específico en lugar del código hash de un objeto? Para tales casos, podemos sobreescribir el método toString()
.
La herencia y la sobreescritura de métodos son temas extensos que estudiaremos en un curso aparte. Por ahora, utilizaremos la sobreescritura de métodos solo para el método toString()
.
Cómo usar toString()
Para sobreescribir un método, necesitamos usar la siguiente sintaxis:
Main.java
Tenga en cuenta que utilizamos la anotación @Override
antes de este método. Con esta anotación, el compilador reconoce que estamos sobrescribiendo este método. A continuación, especificamos la sintaxis public String toString()
, indicando cuál método exacto estamos sobrescribiendo.
En el cuerpo de este método, definiremos cómo nuestro objeto debe ser representado en forma de cadena de texto. Sobrescribamos el método para la clase Person
:
Person.java
El comando System.lineSeparator()
se utiliza para crear una nueva línea.
Hemos definido cómo debe aparecer nuestro objeto al concatenar cadenas con sus valores. Por lo tanto, cuando intentemos imprimir un objeto de la clase Person
, veremos información detallada sobre cada campo.
Vamos a mostrar un objeto utilizando el método main
y veamos cómo se ve:
Main.java
Nota
Ten en cuenta que no llamamos explícitamente al método
toString()
; se invoca automáticamente cuando pasamos un objeto aSystem.out.println()
.
Hemos obtenido información sobre la clase a la cual pertenece el objeto bob
y detalles sobre todos sus campos.
Por lo tanto, podemos sobrescribir y definir el método toString()
para mostrar la información deseada al imprimir un objeto. Creemos otro objeto de esta clase utilizando el constructor para ver y reforzar cómo el método toString()
transforma el objeto:
Main.java
Podemos ver que el nuevo objeto alice
se muestra en la consola utilizando la misma plantilla.
Conclusión
Mediante el uso del método toString()
, hemos simplificado considerablemente el proceso de mostrar información del objeto en pantalla, lo que nos permite ahorrar espacio en el método principal.
Nota
También puedes personalizar el método
toString()
para mostrar la información deseada. Ten en cuenta que este método debe implementarse en la clase del objeto que quieres mostrar en pantalla.
¿Todo estuvo claro?
Contenido del Curso
Java Extended
Java Extended
Método toString()
¿Cómo imprimir un objeto más fácilmente?
Para mostrar todos los datos de un objeto utilizando el comando System.out.println(object);
en Java, existe un método llamado toString();
.
toString()
El método toString
en Java es un método incorporado que pertenece a la clase Object
. Se utiliza para devolver una representación en cadena de un objeto. Por defecto, cuando llamamos a toString
en un objeto, devuelve una cadena que contiene el nombre de la clase seguido del hashcode del objeto.
Veamos el ejemplo:
Main.java
Código Hash
Un código hash, en términos sencillos, es un identificador único para un objeto que está almacenado en la memoria. También podemos ver el código hash de un objeto llamando al método hashCode()
en él, por ejemplo:
Main.java
En ese caso, surge la pregunta: ¿cómo podemos obtener algo más específico en lugar del código hash de un objeto? Para tales casos, podemos sobreescribir el método toString()
.
La herencia y la sobreescritura de métodos son temas extensos que estudiaremos en un curso aparte. Por ahora, utilizaremos la sobreescritura de métodos solo para el método toString()
.
Cómo usar toString()
Para sobreescribir un método, necesitamos usar la siguiente sintaxis:
Main.java
Tenga en cuenta que utilizamos la anotación @Override
antes de este método. Con esta anotación, el compilador reconoce que estamos sobrescribiendo este método. A continuación, especificamos la sintaxis public String toString()
, indicando cuál método exacto estamos sobrescribiendo.
En el cuerpo de este método, definiremos cómo nuestro objeto debe ser representado en forma de cadena de texto. Sobrescribamos el método para la clase Person
:
Person.java
El comando System.lineSeparator()
se utiliza para crear una nueva línea.
Hemos definido cómo debe aparecer nuestro objeto al concatenar cadenas con sus valores. Por lo tanto, cuando intentemos imprimir un objeto de la clase Person
, veremos información detallada sobre cada campo.
Vamos a mostrar un objeto utilizando el método main
y veamos cómo se ve:
Main.java
Nota
Ten en cuenta que no llamamos explícitamente al método
toString()
; se invoca automáticamente cuando pasamos un objeto aSystem.out.println()
.
Hemos obtenido información sobre la clase a la cual pertenece el objeto bob
y detalles sobre todos sus campos.
Por lo tanto, podemos sobrescribir y definir el método toString()
para mostrar la información deseada al imprimir un objeto. Creemos otro objeto de esta clase utilizando el constructor para ver y reforzar cómo el método toString()
transforma el objeto:
Main.java
Podemos ver que el nuevo objeto alice
se muestra en la consola utilizando la misma plantilla.
Conclusión
Mediante el uso del método toString()
, hemos simplificado considerablemente el proceso de mostrar información del objeto en pantalla, lo que nos permite ahorrar espacio en el método principal.
Nota
También puedes personalizar el método
toString()
para mostrar la información deseada. Ten en cuenta que este método debe implementarse en la clase del objeto que quieres mostrar en pantalla.
¿Todo estuvo claro?