title: Why can't we cast an integer object to a string object?
body: <p>Why can't we cast an integer object to a string object? Please Explain in detail.</p>
  
  <pre><code>Integer obj = new Integer(10);
  System.out.println((String)obj);
  </code></pre>
  
  <p>Does covariant return types come into the picture here?</p>