title: how to avoid @SuppressWarnings({ "unchecked", "rawtypes" }) everywhere?
body: <p>I have a <strong>generic</strong> Parameter interface and its ParameterImpl concrete class. The T will be a Float, Long, Integer or String.</p>
  
  <pre><code>public interface Parameter&lt;T extends Comparable&lt;T&gt;&gt;  {}  
  public class ParameterImpl&lt;T extends Comparable&lt;T&gt;&gt; implements Parameter&lt;T&gt; {}
  </code></pre>
  
  <p>I have several other <strong>ordinary</strong> classes which will use above generic <strong>Parameter</strong> type <strong>with warnings</strong>, like the one followed:</p>
  
  <pre><code>public class ProcessParameter() {
  
      Map&lt;String, Parameter&gt; params; //use &lt;?&gt; or @SuppressWarnings   ???
  
      //use &lt;?&gt; or @SuppressWarnings or &lt;T extends Comparable&gt;   ???
      public Parameter getParameter(String key, Map&lt;String, Parameter&gt; paramMap)
      {
  
      }
  
      //use &lt;?&gt; or @SuppressWarnings or &lt;T extends Comparable&gt;   ???
      public void addParameter(Parameter param)
      {
  
      }
  
      //use &lt;?&gt; or @SuppressWarnings or &lt;T extends Comparable&gt;   ???
      public Map&lt;String, Parameter&gt; getParameterMap()
      {
  
      }
  
      //many more cases with Parameter presents
  }
  </code></pre>
  
  <ol>
  <li><p>For the <code>Map&lt;String, Parameter&gt; params;</code> variable case, should I use <code>&lt;?&gt;</code> or <code>@SuppressWarnings</code>? Why you suggested way is better?</p></li>
  <li><p>For the method cases, if I use <code>&lt;?&gt;</code> or <code>&lt;T extends Comparable&gt;</code> (in the method signature), then it will affect all other methods related. The <code>@SuppressWarnings</code> will <strong>cover</strong> this issue just here. So, which option I should choose? Why the option you suggested is better than others?</p></li>
  <li><p>In most of cases, the Eclipse suggests the <code>@SuppressWarnings</code> way. Is the <code>@SuppressWarnings</code> a right way or it is a temporary solution with potential bug inside?</p></li>
  </ol>