is synchronized Метод toArray () коллекции синхронизирован?

Если у меня есть синхронизированная коллекция, подобная этой

Collection c = Collections.synchronizedCollection (myCollection);

javadoc для synchronizedCollection упоминает, что внешняя итерация должна быть синхронизирована следующим образом:

synchronized (c) {
 Iterator i = c.iterator();
 while (i.hasNext()) {
     process (i.next());
 }
}

Могу ли я предположить, что c.toArray () синхронизирован и, следовательно, никаких изменений в коллекции при выполнении метода не произойдет?

Или мне нужно также необходимо синхронизировать его:

synchronized (c) {
  c.toArray();
}
7
задан artur 23 February 2012 в 14:02
поделиться