Re: Null pointer exception problem
"Lew" <lew@nospam.lewscanon.com> wrote in message
news:x_idnS0Ct87t9YjbnZ2dnUVZ_v6tnZ2d@comcast.com...
Also, all the methods in Vector and Hashtable are synchronized, an
overhead not needed in thread-local contexts. Furthermore, the
Collections class can make synchronized versions of any collection.
And, still further, method-level synchronization of a collection is often
not terribly useful. Straightforward-looking code like
for (int i = 0; i < list.size(); i++)
{
Object o = list.get(i);
...
can fail to do the desired thing, either silently or noisily.
Hmm, this is interesting. From the javadoc for
Collection.synchronizedList()
It is imperative that the user manually synchronize on the returned list
when iterating over it:
List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list) {
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
This strongly implies, without actually saying so, that a synchronized list
is synchronized on itself.