Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Intermediate
Jan 31, 2006

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() method
public 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:

NoImplForToString@650c437f 
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() method
public 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]
MS Sridhar
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap