Spec-Zone.ru › OpenJDK 25

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

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>

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

Конструктор Описание
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

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

compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll

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

Headers

public Headers()
Создает пустой экземпляр 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/com/sun/net/httpserver/Headers.html

Spec-Zone.ru

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