Printing an Object in Java

When you use System.out.println( ) by passing an object as an argument, the JRE invokes its toString( ) method by default. If you haven’t overridden this method, then you end up with very vague output. For example:

//Without overriding the toString() methodpublic class NoImplForToString {    int a, b;    //Constructor    public NoImplForToString(int x, int y) {        a = x; b = y;    }    //main method    public static void main(String args[]) {         System.out.println(new NoImplForToString(11, 65));    }}

You might see this uninformative output:

[email protected] 

However, if you override the toString() method and provide an implementation that you understand, it definitely will look better?both for presentation and comprehension:

//Overriding the toString() methodpublic class ImplForToString {    int a, b;    //Constructor    public ImplForToString(int x, int y) {        a = x; b = y;    }    // Overriding toString     public String toString( ) {        return "ImplForToString[" + a + "," + b + "]";    }        //main methid    public static void main(String args[]) {         System.out.println(new ImplForToString(11, 65));    }}

This version produces the more useful output:

ImplForToString[11,65]
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: