"Emerik Schultz-Petersen" <emerik@emerik.dk> writes:
> Jeg fandt ud af det ( i hvert fald måden at løse det på).
Tjah. Din løsning virker, men ikke af den grund du tror.
> Hvis man i stedet for at skrive:
> Hashtable vaegtIPDB = (Hashtable) Collections.synchronizedMap(new
> Hashtable());
Problemet her er :
1) Hashtable er allerede synkroniseret, så det er overflødigt at bruge
Collections.synchronizedMap.
2) Collections.synchronizedMap returnerer ikke en Hashtable, bare
et Map (sin helt egen implementation af interfacet Map).
2) Hvis du brugte HashMap i stedet (hvilket jeg vil anbefale), så
ville Collections.synchronizedMap stadig ikke returnere et HashMap.
Så, prøv:
Map vaegtIPDB = Collections.synchronizedMap(new HashMap());
> Skriver:
> Hashtable vaegtIPDB = new Hashtable (Collections.synchronizedMap(new
> Hashtable()));
>
> så er der kein Problem, zero problemos, jubii!
Det er fordi det er fuldstændig det samme som
Hashtable vaegtIPDB = new Hashtable();
Når du konstruerer en Hashtable med et Map som argument, så piller den
alle elementerne ud af argument-Mappet og putter dem ind i Hashtable'en.
Argument-Mappet er tomt, så det er hurtigt overstået.
Men som sagt er Hashtable synkroniseret, så det virker alligevel.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'