title: Difference between Long.toString(i) vs i + ""
body: <p>we often come across a scenario where in we need to pass a String representation of a primitive and More often then not we use</p>
  
  <pre><code>  WrapperClass.toString() ;
  </code></pre>
  
  <p>and sometimes we usually write</p>
  
  <pre><code>  i + "";
  </code></pre>
  
  <p>if we check to toString implementation of any wrapper class it creates a new String object every time we call it. and same is also true for  primitive + ""  (as Concatenation during runtime will create new String Object)</p>
  
  <p>So is there any difference between them or they are just an alternative ways to  convert a primitive to a String object;</p>