toString()
valueOf()
handles primitive types as well as object types.
Integer a = null;
System.out.println(Integer.toString()) ; NUll pointer exception
System.out.println(String.valueOf() ; give NULL as value
check this link its very good. http://code4reference.com/2013/06/which-one-is-better-valueof-or-tostring/