На стороне клиента вы можете включить запросы cors в AngularJS через
app.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);
Однако, если это все еще возвращает ошибку, это будет означать, что сервер, который вы делаете запрос, должен разрешить запрос CORS и должен быть настроен для этого.
Перечисление не было изменено для поддержки Повторяемый, потому что это - интерфейс не реальный класс (как Вектор, который был modifed для поддержки интерфейса Collections).
, Если бы Перечисление было изменено на поддержку, Повторяемую, это повредило бы код группы людей.
Как легкое и чистый способ использовать Перечисление с расширенным для цикла, преобразуйте в ArrayList с java.util. Collections.list.
for (TableColumn col : Collections.list(columnModel.getColumns()) {
(javax.swing.table. TableColumnModel.getColumns возвращает Перечисление.)
Примечание, это может быть очень немного менее эффективно.
Не имеет смысла для Enumeration
реализовывать Iterable
. Iterable
метод фабрики для Iterator
. Enumeration
походит Iterator
, и только поддерживает состояние для единственного перечисления.
Так, быть тщательной попыткой перенестись Enumeration
как Iterable
. Если кто-то передаст меня Iterable
, я предположу, что могу звонить iterator()
на нем неоднократно, создавая столько Iterator
экземпляры, сколько я хочу, и выполняющий итерации независимо на каждом. Обернутый Enumeration
не выполнит этот контракт; не позволяйте своему обернутому Enumeration
, сбегают из Вашего собственного кода. (Как в стороне, я заметил, что Java 7 DirectoryStream
нарушает ожидания просто этим способом и не должен быть позволен "выйти" также.)
Enumeration
похож Iterator
, не Iterable
. Collection
Iterable
. Iterator
не.
Вы не можете сделать этого:
Vector<X> list = …
Iterator<X> i = list.iterator();
for (X x : i) {
x.doStuff();
}
, Таким образом, не имело бы смысла делать это:
Vector<X> list = …
Enumeration<X> i = list.enumeration();
for (X x : i) {
x.doStuff();
}
нет никакого Enumerable
эквивалентен [1 123]. Это могло быть добавлено, не повреждая ничего для работы в на циклы, но какова будет точка? Если Вы в состоянии реализовать это новое Enumerable
интерфейс, почему не просто реализуют Iterable
вместо этого?
Перечисление AFAIK своего рода "устаревшее" :
Итератор занимает место Перечисления в платформе наборов Java
, я надеюсь, что они изменят API Сервлета с JSR 315 для использования Итератора вместо Перечисления.