4
我正在使用HashMap,下面的方法顯示了跟蹤類類型的更改偵聽器。 IDE發出警告類對象的通用類型規範
[rawtypes] found raw type: java.lang.Class
missing type parameters for generic class java.lang.Class<T>.
什麼類型需要指定類來解決警告?
private HashMap<Class, Set<ChangeListener>> classChangeListeners;
/**
* Adds a ChangeListener to the listener list for the specified class type. The class type
* specified must be a subclass of {@link BusinessObject}.
*
* @param <T> the type of BusinessObject.
* @param cls the class type.
* @param listener the ChangeListener to be added.
*/
public <T extends BusinessObject> void addChangeListener(Class<T> cls, ChangeListener listener)
{
if (!classChangeListeners.containsKey(cls))
{
classChangeListeners.put(cls, new TreeSet<ChangeListener>());
}
classChangeListeners.get(cls).add(listener);
}
從你的代碼看起來,顯然Class <?擴展BusinessObject>將是最合適的。 – 2010-07-19 15:20:52
只要該方法記錄的不變量實際上適用於Map本身(它沒有明確記錄),我同意...... – 2010-07-19 15:22:32
我想這取決於ChangeListener可以處理什麼。如果它只能處理BusinessObjects,那麼我會選擇Carl的建議。如果沒關係,我會寫類>。 (一般來說,我更喜歡