Spec-Zone.ru › OpenJDK 27

Заголовки класса

java.lang.Object
com.sun.net.httpserver.Headers
Все реализуемые интерфейсы:
Map<String, List<String>>
public class Headers extends Object implements Map<String, List<String>>
Заголовки HTTP-запросов и ответов представлены этим классом, реализующим интерфейс Map<String, List <String>>. Ключи — это строки без учёта регистра, представляющие имена заголовков, а связанное с каждым ключом значение — это List<String>, содержащий по одному элементу для каждого вхождения имени заголовка в запросе или ответе.

Например, если экземпляр заголовка ответа содержит один ключ "HeaderName" с двумя значениями "value1 and value2", этот объект выводится в виде двух строк заголовков:

HeaderName: value1
HeaderName: value2
Предоставлены все стандартные методы Map, однако, скорее всего, будут использоваться следующие дополнительные удобные методы:
  • getFirst(String) возвращает заголовок с одним значением или первое значение заголовка с несколькими значениями.
  • add(String, String) добавляет указанное значение заголовка в список для указанного ключа.
  • set(String, String) задаёт для указанного поля заголовка единственное переданное значение, перезаписывая все существующие значения в списке значений.

Экземпляр Headers является либо изменяемым, либо неизменяемым. Изменяемые заголовки позволяют добавлять, удалять или изменять имена и значения заголовков, например, экземпляр, возвращаемый методом HttpExchange.getResponseHeaders(). Неизменяемые заголовки не допускают изменения имён и значений заголовков, например, экземпляр, возвращаемый методом HttpExchange.getRequestHeaders(). Методы-мутаторы для экземпляра неизменяемых заголовков всегда выбрасывают UnsupportedOperationException.

Все методы этого класса отклоняют значения null для ключей и значений. Ключи null никогда не встречаются в заголовках HTTP-запросов или ответов.

С версии:
1.6

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе Map

Map.Entry<K,V>
Модификатор и тип Интерфейс Описание
static interface  Map.Entry<K,V>
Запись карты (пара ключ-значение).

Краткое описание конструкторов

Конструктор Описание
Headers()
Создаёт пустой экземпляр Headers.
Headers(Map<String, List<String>> headers)
Создаёт изменяемый Headers на основе указанного headers с теми же именами и значениями заголовков.

Краткое описание методов

Модификатор и тип Метод Описание
void add(String key, String value)
Добавляет указанное value в список заголовков для указанного key.
void clear()
Удаляет все соответствия из этой карты (необязательная операция).
boolean containsKey(Object key)
Возвращает true, если эта карта содержит соответствие для указанного ключа.
boolean containsValue(Object value)
Возвращает true, если эта карта сопоставляет один или несколько ключей указанному значению.
Set<Map.Entry<String, List<String>>> entrySet()
Возвращает представление содержащихся в этой карте соответствий в виде Set.
boolean equals(Object o)
Сравнивает указанный объект с этой картой на равенство.
List<String> get(Object key)
Возвращает значение, которому сопоставлен указанный ключ, или null, если эта карта не содержит соответствия для ключа.
String getFirst(String key)
Возвращает первое значение из List значений String для указанного key или null, если соответствие для key отсутствует.
int hashCode()
Возвращает хеш-код этой карты.
boolean isEmpty()
Возвращает true, если эта карта не содержит соответствий ключ-значение.
Set<String> keySet()
Возвращает представление содержащихся в этой карте ключей в виде Set.
static Headers of(String... headers)
Возвращает неизменяемый Headers с указанными парами «имя — значение» в качестве набора заголовков.
static Headers of(Map<String, List<String>> headers)
Возвращает неизменяемый Headers на основе указанного headers с теми же именами и значениями заголовков.
List<String> put(String key, List<String> value)
Связывает указанное значение с указанным ключом в этой карте (необязательная операция).
void putAll(Map<? extends String, ? extends List<String>> t)
Копирует все соответствия из указанной карты в эту карту (необязательная операция).
List<String> remove(Object key)
Удаляет соответствие для ключа из этой карты, если оно присутствует (необязательная операция).
void set(String key, String value)
Задаёт указанное value в качестве единственного значения заголовка для указанного key.
int size()
Возвращает количество соответствий ключ-значение в этой карте.
Collection<List<String>> values()
Возвращает представление содержащихся в этой карте значений в виде Collection.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело и подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.

Методы, объявленные в интерфейсе Map

compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
Модификатор и тип Метод Описание
default List<String> compute(String key, BiFunction<? super String, ? super List<String>, ? extends List<String>> remappingFunction)
Пытается вычислить соответствие для указанного ключа и его текущего сопоставленного значения либо null, если текущего соответствия нет (необязательная операция).
default List<String> computeIfAbsent(String key, Function<? super String, ? extends List<String>> mappingFunction)
Если для указанного ключа ещё не задано значение (или ему сопоставлено null), пытается вычислить его с помощью указанной функции сопоставления и добавляет в эту карту, если результат не равен null (необязательная операция).
default List<String> computeIfPresent(String key, BiFunction<? super String, ? super List<String>, ? extends List<String>> remappingFunction)
Если для указанного ключа задано ненулевое значение, пытается вычислить новое соответствие на основе ключа и его текущего сопоставленного значения (необязательная операция).
default void forEach(BiConsumer<? super String, ? super List<String>> action)
Выполняет указанное действие для каждой записи этой карты, пока не будут обработаны все записи или действие не вызовет исключение.
default List<String> getOrDefault(Object key, List<String> defaultValue)
Возвращает значение, которому сопоставлен указанный ключ, или defaultValue, если эта карта не содержит соответствия для ключа.
default List<String> merge(String key, List<String> value, BiFunction<? super List<String>, ? super List<String>, ? extends List<String>> remappingFunction)
Если для указанного ключа ещё не задано значение или ему сопоставлено значение null, связывает его с указанным ненулевым значением (необязательная операция).
default List<String> putIfAbsent(String key, List<String> value)
Если для указанного ключа ещё не задано значение (или ему сопоставлено null), связывает его с указанным значением и возвращает null; в противном случае возвращает текущее значение (необязательная операция).
default boolean remove(Object key, Object value)
Удаляет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция).
default List<String> replace(String key, List<String> value)
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено какое-либо значение (необязательная операция).
default boolean replace(String key, List<String> oldValue, List<String> newValue)
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция).
default void replaceAll(BiFunction<? super String, ? super List<String>, ? extends List<String>> function)
Заменяет значение каждой записи результатом вызова указанной функции для этой записи, пока не будут обработаны все записи или функция не вызовет исключение (необязательная операция).

Подробное описание конструкторов

Заголовки

public Headers()
Создаёт пустой экземпляр Headers.

Заголовки

public Headers(Map<String, List<String>> headers)
Создаёт изменяемый Headers из заданного headers с теми же именами и значениями заголовков.
Параметры:
headers — карта имён и значений заголовков
Исключения:
NullPointerException — если headers или любое из его имён или значений равно null либо какое-либо значение содержит null.
Начиная с версии:
18

Подробное описание методов

size

public int size()
Описание скопировано из интерфейса: Map
Возвращает количество отображений ключ-значение в этой карте. Если карта содержит более Integer.MAX_VALUE элементов, возвращает Integer.MAX_VALUE.
Определено в:
size в интерфейсе Map<String, List<String>>
Возвращает:
количество отображений ключ-значение в этой карте

isEmpty

public boolean isEmpty()
Описание скопировано из интерфейса: Map
Возвращает true, если эта карта не содержит отображений ключ-значение.
Определено в:
isEmpty в интерфейсе Map<String, List<String>>
Возвращает:
true, если эта карта не содержит отображений ключ-значение

containsKey

public boolean containsKey(Object key)
Описание скопировано из интерфейса: Map
Возвращает true, если эта карта содержит отображение для указанного ключа. Точнее, возвращает true тогда и только тогда, когда эта карта содержит отображение для ключа k такого, что Objects.equals(key, k). (Такое отображение может быть не более чем одно.)
Определено в:
containsKey в интерфейсе Map<String, List<String>>
Параметры:
key — ключ, наличие которого в этой карте проверяется
Возвращает:
true, если эта карта содержит отображение для указанного ключа

containsValue

public boolean containsValue(Object value)
Описание скопировано из интерфейса: Map
Возвращает true, если эта карта сопоставляет один или несколько ключей указанному значению. Точнее, возвращает true тогда и только тогда, когда эта карта содержит хотя бы одно отображение на значение v такое, что Objects.equals(value, v). Для большинства реализаций интерфейса Map эта операция, вероятно, потребует времени, линейно зависящего от размера карты.
Определено в:
containsValue в интерфейсе Map<String, List<String>>
Параметры:
value — значение, наличие которого в этой карте проверяется
Возвращает:
true, если эта карта сопоставляет один или несколько ключей указанному значению

get

public List<String> get(Object key)
Описание скопировано из интерфейса: Map
Возвращает значение, которому сопоставлен указанный ключ, или null, если эта карта не содержит отображения для ключа.

Точнее, если эта карта содержит отображение ключа k в значение v такое, что Objects.equals(key, k), этот метод возвращает v; в противном случае он возвращает null. (Такое отображение может быть не более чем одно.)

Если эта карта допускает значения null, возвращаемое значение null не обязательно означает, что карта не содержит отображения для ключа; также возможно, что карта явно сопоставляет ключу значение null. Для различения этих двух случаев можно использовать операцию containsKey.

Определено в:
get в интерфейсе Map<String, List<String>>
Параметры:
key — ключ, значение которого требуется вернуть
Возвращает:
значение, которому сопоставлен указанный ключ, или null, если эта карта не содержит отображения для ключа

getFirst

public String getFirst(String key)
Возвращает первое значение из List значений String для заданного key или null, если отображение для key отсутствует.
Параметры:
key — ключ для поиска
Возвращает:
первое значение String, связанное с ключом, или null, если отображение для ключа отсутствует

put

public List<String> put(String key, List<String> value)
Описание скопировано из интерфейса: Map
Сопоставляет указанное значение указанному ключу в этой карте (необязательная операция). Если карта ранее содержала отображение для ключа, старое значение заменяется указанным. (Считается, что карта m содержит отображение для ключа k тогда и только тогда, когда m.containsKey(k) вернул бы true.)
Определено в:
put в интерфейсе Map<String, List<String>>
Параметры:
key — ключ, с которым сопоставляется указанное значение
value — значение, сопоставляемое указанному ключу
Возвращает:
предыдущее значение, связанное с key, или null, если для key не было отображения. (Возврат null также может означать, что ранее карта сопоставляла null со значением key, если реализация поддерживает значения null.)

add

public void add(String key, String value)
Добавляет заданное value в список заголовков для заданного key. Если отображение ещё не существует, оно создаётся.
Параметры:
key — имя заголовка
value — значение, добавляемое к заголовку

set

public void set(String key, String value)
Устанавливает заданное value как единственное значение заголовка для заданного key. Если отображение ещё не существует, оно создаётся.
Параметры:
key — имя заголовка
value — значение заголовка, которое нужно установить

remove

public List<String> remove(Object key)
Описание скопировано из интерфейса: Map
Удаляет отображение ключа из этой карты, если оно присутствует (необязательная операция). Точнее, если эта карта содержит отображение ключа k в значение v такое, что Objects.equals(key, k), это отображение удаляется. (Карта может содержать не более одного такого отображения.)

Возвращает значение, которому эта карта ранее сопоставляла ключ, или null, если карта не содержала отображения для ключа.

Если эта карта допускает значения null, возвращаемое значение null не обязательно означает, что карта не содержала отображения для ключа; также возможно, что карта явно сопоставляла ключу значение null.

После возврата вызова карта не будет содержать отображения для указанного ключа.

Определено в:
remove в интерфейсе Map<String, List<String>>
Параметры:
key — ключ, отображение которого нужно удалить из карты
Возвращает:
предыдущее значение, связанное с key, или null, если для key не было отображения.

putAll

public void putAll(Map<? extends String, ? extends List<String>> t)
Описание скопировано из интерфейса: Map
Копирует все отображения из указанной карты в эту карту (необязательная операция). Эффект этого вызова эквивалентен однократному вызову put(k, v) для каждого отображения ключа k в значение v в указанной карте. Поведение этой операции не определено, если указанная карта изменяется во время выполнения операции. Если для указанной карты задан порядок обхода обхода, обработка её отображений обычно выполняется в этом порядке.
Определено в:
putAll в интерфейсе Map<String, List<String>>
Параметры:
t — отображения, которые нужно сохранить в этой карте

clear

public void clear()
Описание скопировано из интерфейса: Map
Удаляет все отображения из этой карты (необязательная операция). После возврата вызова карта будет пустой.
Определено в:
clear в интерфейсе Map<String, List<String>>

keySet

public Set<String> keySet()
Описание скопировано из интерфейса: Map
Возвращает представление в виде Set ключей, содержащихся в этой карте. Множество поддерживается картой, поэтому изменения карты отражаются в множестве, и наоборот. Если карта изменяется во время итерации по множеству (кроме изменений, выполненных собственной операцией remove итератора), результаты итерации не определены. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.
Определено в:
keySet в интерфейсе Map<String, List<String>>
Возвращает:
представление в виде множества ключей, содержащихся в этой карте

values

public Collection<List<String>> values()
Описание скопировано из интерфейса: Map
Возвращает представление в виде Collection значений, содержащихся в этой карте. Коллекция поддерживается картой, поэтому изменения карты отражаются в коллекции, и наоборот. Если карта изменяется во время итерации по коллекции (кроме изменений, выполненных собственной операцией remove итератора), результаты итерации не определены. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.
Определено в:
values в интерфейсе Map<String, List<String>>
Возвращает:
представление в виде коллекции значений, содержащихся в этой карте

entrySet

public Set<Map.Entry<String, List<String>>> entrySet()
Описание скопировано из интерфейса: Map
Возвращает представление в виде Set отображений, содержащихся в этой карте. Множество поддерживается картой, поэтому изменения карты отражаются в множестве, и наоборот. Если карта изменяется во время итерации по множеству (кроме изменений, выполненных собственной операцией remove итератора или операцией setValue для записи карты, возвращённой итератором), результаты итерации не определены. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.
Определено в:
entrySet в интерфейсе Map<String, List<String>>
Возвращает:
представление в виде множества отображений, содержащихся в этой карте

equals

public boolean equals(Object o)
Описание скопировано из интерфейса: Map
Сравнивает указанный объект с этой картой на равенство. Возвращает true, если заданный объект также является картой и обе карты представляют одинаковые отображения. Точнее, две карты m1 и m2 представляют одинаковые отображения, если m1.entrySet().equals(m2.entrySet()). Это гарантирует корректную работу метода equals для разных реализаций интерфейса Map.
Определено в:
equals в интерфейсе Map<String, List<String>>
Переопределяет:
equals в классе Object
Параметры:
o — объект для сравнения на равенство с этой картой
Возвращает:
true, если указанный объект равен этой карте
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Описание скопировано из интерфейса: Map
Возвращает хеш-код этой карты. Хеш-код карты определяется как сумма хеш-кодов каждой записи в представлении entrySet() этой карты. Это гарантирует, что m1.equals(m2) влечёт m1.hashCode()==m2.hashCode() для любых двух карт m1 и m2, как того требует общий контракт Object.hashCode().
Определено в:
hashCode в интерфейсе Map<String, List<String>>
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этой карты
См. также:
  • Map.Entry.hashCode()
  • Object.equals(Object)
  • Map.equals(Object)

of

public static Headers of(String... headers)
Возвращает неизменяемый Headers с заданными парами «имя — значение» в качестве набора заголовков.

Предоставленные экземпляры String должны чередоваться: сначала имена заголовков, затем значения. Чтобы добавить несколько значений для одного имени, это имя необходимо указывать перед каждым новым значением. Если предоставленный headers пуст, возвращается пустой Headers.

Параметры:
headers — список пар «имя — значение»
Возвращает:
неизменяемые заголовки с заданными парами «имя — значение»
Исключения:
NullPointerException — если headers или любой из его элементов равен null.
IllegalArgumentException — если количество предоставленных строк нечётное.
Начиная с версии:
18

of

public static Headers of(Map<String, List<String>> headers)
Возвращает неизменяемый Headers из заданного headers с теми же именами и значениями заголовков.
Параметры:
headers — карта имён и значений заголовков
Возвращает:
неизменяемые заголовки
Исключения:
NullPointerException — если headers или любое из его имён или значений равно null либо какое-либо значение содержит null.
Начиная с версии:
18

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API