Заголовки класса
- Все реализуемые интерфейсы:
Map<String, List<String>>
public class Headers extends Object implements Map<String, List<String>>
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
Краткое описание вложенных классов
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Headers() |
Создает пустой экземпляр Headers. |
Headers |
Создает изменяемый Headers из заданного headers с теми же именами и значениями заголовков. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет заданное value в список заголовков для указанного key. |
void |
clear() |
Удаляет все соответствия из этой карты (необязательная операция). |
boolean |
containsKey |
Возвращает true, если эта карта содержит соответствие для указанного ключа. |
boolean |
containsValue |
Возвращает true, если эта карта связывает один или несколько ключей с указанным значением. |
Set |
entrySet() |
Возвращает представление в виде Set соответствий, содержащихся в этой карте. |
boolean |
equals |
Сравнивает указанный объект с этой картой на равенство. |
List |
get |
Возвращает значение, которому соответствует указанный ключ, или null, если эта карта не содержит соответствия для ключа. |
String |
getFirst |
Возвращает первое значение из List значений String для указанного key или null, если соответствие для key отсутствует. |
int |
hashCode() |
Возвращает значение хеш-кода этой карты. |
boolean |
isEmpty() |
Возвращает true, если эта карта не содержит соответствий ключ-значение. |
Set |
keySet() |
Возвращает представление в виде Set ключей, содержащихся в этой карте. |
static Headers |
of |
Возвращает неизменяемый Headers, содержащий заданные пары «имя—значение» в качестве набора заголовков. |
static Headers |
of |
Возвращает неизменяемый Headers из заданного headers с теми же именами и значениями заголовков. |
List |
put |
Связывает указанное значение с указанным ключом в этой карте (необязательная операция). |
void |
putAll |
Копирует все соответствия из указанной карты в эту карту (необязательная операция). |
List |
remove |
Удаляет соответствие для ключа из этой карты, если оно присутствует (необязательная операция). |
void |
set |
Задает указанное value как единственное значение заголовка для данного key. |
int |
size() |
Возвращает количество соответствий ключ-значение в этой карте. |
Collection |
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()
MapInteger.MAX_VALUE элементов, возвращает Integer.MAX_VALUE.isEmpty
containsKey
public boolean containsKey(Object key)
Maptrue, если эта карта содержит соответствие для указанного ключа. Более формально, возвращает true тогда и только тогда, когда эта карта содержит соответствие для ключа k, такого что Objects.equals(key, k). (Такое соответствие может быть не более чем одно.)- Определено в:
-
containsKeyв интерфейсеMap<String, List<String>> - Параметры:
-
key— ключ, наличие которого в этой карте проверяется - Возвращает:
-
true, если эта карта содержит соответствие для указанного ключа
containsValue
public boolean containsValue(Object value)
Maptrue, если эта карта связывает один или несколько ключей с указанным значением. Более формально, возвращает true тогда и только тогда, когда эта карта содержит хотя бы одно соответствие значению v, такому что Objects.equals(value, v). Для большинства реализаций интерфейса Map эта операция, вероятно, потребует времени, линейно зависящего от размера карты.- Определено в:
-
containsValueв интерфейсеMap<String, List<String>> - Параметры:
-
value— значение, наличие которого в этой карте проверяется - Возвращает:
-
true, если эта карта связывает один или несколько ключей с указанным значением
get
public List<String> get(Object key)
Mapnull, если эта карта не содержит соответствия для ключа. Более формально, если эта карта содержит соответствие ключа k значению v, такое что Objects.equals(key, k), этот метод возвращает v; в противном случае он возвращает null. (Такое соответствие может быть не более чем одно.)
Если эта карта допускает значения null, возвращаемое значение null не обязательно означает, что карта не содержит соответствия для ключа; возможно также, что карта явно связывает ключ со значением null. Для различения этих двух случаев можно использовать операцию containsKey.
getFirst
public String getFirst(String key)
List значений String для указанного key или null, если соответствие для key отсутствует.- Параметры:
-
key— ключ для поиска - Возвращает:
- первое значение
String, связанное с ключом, илиnull, если соответствие для ключа отсутствует
put
public List<String> put(String key, List<String> value)
Mapm содержит соответствие для ключа 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)
Mapk значению v, такое что Objects.equals(key, k), это соответствие удаляется. (Карта может содержать не более одного такого соответствия.) Возвращает значение, с которым эта карта ранее связывала ключ, или null, если карта не содержала соответствия для ключа.
Если эта карта допускает значения null, возвращаемое значение null не обязательно означает, что карта не содержала соответствия для ключа; возможно также, что карта явно связывала ключ со значением null.
После возврата вызова карта не будет содержать соответствие для указанного ключа.
putAll
public void putAll(Map<? extends String, ? extends List<String>> t)
Mapput(k, v) для каждого соответствия от ключа k к значению v в указанной карте. Поведение этой операции не определено, если указанная карта изменяется во время ее выполнения. Если для указанной карты задан порядок обхода (порядок обхода), обработка ее соответствий обычно выполняется в этом порядке.clear
keySet
public Set<String> keySet()
MapSet ключей, содержащихся в этой карте. Множество поддерживается картой, поэтому изменения карты отражаются в множестве, и наоборот. Если карта изменяется во время итерации по множеству (за исключением изменения с помощью собственной операции remove итератора), результаты итерации не определены. Множество поддерживает удаление элементов, при котором удаляется соответствующее соответствие из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.values
public Collection<List<String>> values()
MapCollection значений, содержащихся в этой карте. Коллекция поддерживается картой, поэтому изменения карты отражаются в коллекции, и наоборот. Если карта изменяется во время итерации по коллекции (за исключением изменения с помощью собственной операции remove итератора), результаты итерации не определены. Коллекция поддерживает удаление элементов, при котором удаляется соответствующее соответствие из карты, с помощью операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.entrySet
public Set<Map.Entry<String, List<String>>> entrySet()
MapSet соответствий, содержащихся в этой карте. Множество поддерживается картой, поэтому изменения карты отражаются в множестве, и наоборот. Если карта изменяется во время итерации по множеству (за исключением изменения с помощью собственной операции remove итератора или операции setValue над записью карты, возвращенной итератором), результаты итерации не определены. Множество поддерживает удаление элементов, при котором удаляется соответствующее соответствие из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Операции add и addAll не поддерживаются.equals
public boolean equals(Object o)
Maptrue, если заданный объект также является картой и обе карты представляют одинаковые соответствия. Более формально, две карты m1 и m2 представляют одинаковые соответствия, если m1.entrySet().equals(m2.entrySet()). Это гарантирует корректную работу метода equals для разных реализаций интерфейса Map.hashCode
public int hashCode()
MapentrySet() карты. Это гарантирует, что из m1.equals(m2) следует m1.hashCode()==m2.hashCode() для любых двух карт m1 и m2, как того требует общий контракт Object.hashCode().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
© 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