6R8NJ3Importance of toString() in java

>> Saturday, October 20, 2012
Tweet Object class of Java is having predefined toString() method. This method by default Object class calls implicitly when an object created. Overriding toString manually is nothing but implementing this method in our class.The java toString() method is used when we need a string representation of an object. It is defined in Object class. The toString() method is useful for debugging. By default, when an object is printed out in a print stream like System.out, the toString() method of the object is automatically called. While develping the code the developers used to check the object properties are getting through the object or not. For this print statement will be useful to quick test in the console.
public String toString() Returns: a string representation of the object.

Let us take a Person class and try to print the person object using the System.out.println() statement.
package blog.javabynataraj; //@author Muralidhar N class Person{ public String fname; public String lname; Person(String fn,String ln){ this.fname=fn; this.lname=ln; } public String getFname() { return fname; } public void setFname(String fname) { this.fname = fname; } public String getLname() { return lname; } public void setLname(String lname) { this.lname = lname; } } public class ToStringTest { public static void main(String[] args) { Person p = new Person("murali","dhar"); System.out.println(p); } }

What we are going to do here is just overriding the toString method in Person Class. } public String toString(){ return (getClass()+" FirstName: "+fname+" } } public class ToStringTest { public static void main(String[] args) { Person p = new Person("murali". But in the below program we can print the firstname and lastname of person Object. .lname=ln.String ln){ this. } public void setFname(String fname) { this.fname = fname. public String lname. } public String getLname() { return lname.println(p). } public void setLname(String lname) { this. Person(String fn.fname=fn. This is the magic toStirng method. But it is not done.lname = lname. package blog. } public String getFname() { return fname. } } LastName: "+lname).toHexString(hashCode()) But here we assumed that the firstname and the lastname will be print.The output will be the class name@hexadecimal here the Object class's method toString returning getClass()."dhar"). See the output of this: Now you can achieve this by overriding the default toString() method inside Person class to return the contents of the instance of Person.getName()+'@'+Integer. System. //@author Muralidhar N class Person{ public String fname. this.javabynataraj.out.

Sign up to vote on this title
UsefulNot useful