Método Object toString() en Java

La clase de objeto está presente en el paquete java.lang . Cada clase en Java se deriva directa o indirectamente de la clase Object , de ahora en adelante es un elemento secundario de la clase Object. Si una clase no se extiende a ninguna otra clase, entonces es una clase secundaria directa de Object y si se extiende a otra clase, se deriva indirectamente. Por lo tanto, los métodos de la clase Object están disponibles para todas las clases de Java.

Nota: la clase de objeto actúa como raíz de la jerarquía de herencia en cualquier programa Java

Ahora nos ocuparemos de uno de sus métodos conocido como método toString(). Por lo general, generalmente usamos el método toString() para obtener la representación de string de un objeto. Es muy importante y los lectores deben tener en cuenta que cada vez que intentamos imprimir la referencia del objeto, se invoca internamente el método toString(). Si no definimos el método toString() en su clase, entonces se invoca el método toString() de la clase Object; de lo contrario, se llamará a nuestro método toString() implementado o anulado.

Sintaxis: 

public String toString() {
      return getClass().getName()+"@"+Integer.toHexString(hashCode());
}

Nota: el comportamiento predeterminado de toString() es imprimir el nombre de la clase, luego @, luego la representación hexadecimal sin signo del código hash del objeto.

Ejemplo

JAVA

// Java program to Illustrate
// working of toString() method
 
// Main class
class Best_Friend {
 
    // Member attributes of this class
    String name;
    int age;
    String college;
    String course;
    String address;
 
    // Constructor of this class
    Best_Friend(String name, int age, String college,
                String course, String address)
    {
        // This variable refers to current instance itself
        this.name = name;
        this.age = age;
        this.college = college;
        this.course = course;
        this.address = address;
    }
 
    // Method of this class
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating an object of this class
        // Custom attributes been passed as in arguments
        Best_Friend b = new Best_Friend(
            "Gulpreet Kaur", 21, "BIT MESRA", "M.TECH",
            "Kiriburu");
 
        // Print and display commands to illustrate
        // toString() method as both will print the same
        // Print the object
        System.out.println(b);
        // Print the object but implicitly using toString()
        // method
        System.out.println(b.toString());
    }
}
Producción

Best_Friend@3d075dc0
Best_Friend@3d075dc0

Explicación de la salida: en el programa anterior, creamos un Objeto de la clase Best_Friend y proporcionamos toda la información de un amigo. Pero cuando tratamos de imprimir el objeto, obtenemos un resultado que tiene la forma de classname@HashCode_in_Hexadeciaml_form. Si queremos la información adecuada sobre el objeto Best_friend, entonces tenemos que anular el método toString() de la clase Object en nuestra clase Best_Friend.

Ejemplo 2:

JAVA

// Java program to illustrate
// working of toString() method
 
// Main class
class Best_Friend {
 
    // Member attributes of this class
    String name;
    int age;
    String college;
    String course;
    String address;
 
    // Constructor of this class
    Best_Friend(String name, int age, String college,
                String course, String address)
    {
        // This keyword refers to current instance itself
        this.name = name;
        this.age = age;
        this.college = college;
        this.course = course;
        this.address = address;
    }
 
    // Method 1
    // Creating our own toString() method
    public String toString()
    {
        return name + " " + age + " " + college + " "
            + course + " " + address;
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Creating object of class inside main() method
        Best_Friend b = new Best_Friend(
            "Gulpreet Kaur", 21, "BIT MESRA", "M.TECH",
            "Kiriburu");
 
        // Print and display commands to illustrate
        // toString() method as both will print the same
        // Print the object
        System.out.println(b);
 
        // Printing object but using toString() method
        System.out.println(b.toString());
    }
}
Producción

Gulpreet Kaur 21 BIT MESRA M.TECH Kiriburu
Gulpreet Kaur 21 BIT MESRA M.TECH Kiriburu

Nota: En todas las clases contenedoras, todas las clases de colección, la clase String, StringBuffer, las clases StringBuilder y el método String() se anulan para una representación de string significativa. Por lo tanto, también se recomienda anular el método toString() en nuestra clase.

Ejemplo 3:

JAVA

// Java program to illustrate
// working of toString() method
 
// Importing all utility classes
import java.util.*;
 
// Main class
class Best_Friend {
 
    // Member attributes of this class
    String name;
    int age;
    String college;
    String course;
    String address;
 
    // Constructor of this class
    Best_Friend(String name, int age, String college,
                String course, String address)
    {
        // This keyword refer to current instance itself
        this.name = name;
        this.age = age;
        this.college = college;
        this.course = course;
        this.address = address;
    }
 
    // Method of this class
    public static void main(String[] args)
    {
        // Creating an object of class in main() method
        Best_Friend b = new Best_Friend(
            "Gulpreet Kaur", 21, "BIT MESRA", "M.TECH",
            "Kiriburu");
 
        System.out.println(b);
 
        String s = new String("Gulpreet Kaur");
 
        System.out.println(s);
        Integer i = new Integer(21);
 
        System.out.println(i);
 
        ArrayList l = new ArrayList();
 
        l.add("BIT");
        l.add("M.TECH");
 
        System.out.println(l);
    }
}

Salida: también se eliminará para advertir sobre operaciones no verificadas e inseguras.

Best_Friend@232204a1
Gulpreet Kaur
21
[BIT, M.TECH]

Este artículo es una contribución de Bishal Kumar Dubey . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
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

Deja una respuesta

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