title: Why isn't overloading with a different generic type as a parameter allowed?
body: <p>Why isn't overloading with a different generic type as a parameter allowed in Java?</p>
  
  <p>For example, </p>
  
  <pre><code>private static String convertListToString(List&lt;Character&gt; list)
  </code></pre>
  
  <p>and</p>
  
  <pre><code>private static String convertListToString(List&lt;String&gt; list) {
  </code></pre>
  
  <p>causes an error. 
  Why does Java does this and are there any safe and popular workarounds?</p>
  
  <p><strong>Related</strong></p>
  
  <p>Does exactly what I need, but in a different language - <a href="https://stackoverflow.com/questions/926801/overloading-a-method-that-takes-a-generic-list-with-different-types-as-a-paramet">Overloading a method that takes a generic list with different types as a parameter</a></p>