2011-09-28 509 views
11

我有2警告: - 第一個是:警告:[unchecked] unchecked調用將(K,V)作爲原始類型java.util.Hashtable localParams.put(name,values)的成員;

HELPDESKGESTION2\src\java\glpi\filter\LoginFilter.java:289: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type java.util.Hashtable 
        localParams.put(key, value); 
           ^

- 第二個是:

HELPDESKGESTION2\src\java\glpi\filter\LoginFilter.java:292: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type java.util.Hashtable 
      localParams.put(name, values); 
         ^

守則浩產生這樣的警告是:

public void setParameter(String name, String []values) { 
    if (debug) System.out.println("LoginFilter::setParameter(" + name + "=" + values + ")" + " localParams = "+ localParams); 

    if (localParams == null) { 
    localParams = new Hashtable(); 
    // Copy the parameters from the underlying request. 
    Map wrappedParams = getRequest().getParameterMap(); 
    Set keySet = wrappedParams.keySet(); 
    for (Iterator it = keySet.iterator(); it.hasNext();) { 
     Object key = it.next(); 
     Object value = wrappedParams.get(key); 
     localParams.put(key, value); 
    } 
    } 
    localParams.put(name, values); 
} 
+0

這是一個老系統,你正在提高速度? – corsiKa

回答

24

替換:

localParams = new Hashtable(); 

有了:

localParams = new Hashtable<String,String>(); 

我假設你有一個像下面這樣的全局變量:

private Hashtable localParams; 

替換有:

private Hashtable<String,String> localParams; 

如果所做的更改我建議的警告將走開,但你還必須用String替換你的所有Object;

相關問題