Заголовки класса
- Все реализуемые интерфейсы:
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 | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело и подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени. |
Методы, объявленные в интерфейсе Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll | Модификатор и тип | Метод | Описание |
|---|---|---|
default List |
compute |
Пытается вычислить соответствие для указанного ключа и его текущего сопоставленного значения либо null, если текущего соответствия нет (необязательная операция). |
default List |
computeIfAbsent |
Если для указанного ключа ещё не задано значение (или ему сопоставлено null), пытается вычислить его с помощью указанной функции сопоставления и добавляет в эту карту, если результат не равен null (необязательная операция). |
default List |
computeIfPresent |
Если для указанного ключа задано ненулевое значение, пытается вычислить новое соответствие на основе ключа и его текущего сопоставленного значения (необязательная операция). |
default void |
forEach |
Выполняет указанное действие для каждой записи этой карты, пока не будут обработаны все записи или действие не вызовет исключение. |
default List |
getOrDefault |
Возвращает значение, которому сопоставлен указанный ключ, или defaultValue, если эта карта не содержит соответствия для ключа. |
default List |
merge |
Если для указанного ключа ещё не задано значение или ему сопоставлено значение null, связывает его с указанным ненулевым значением (необязательная операция). |
default List |
putIfAbsent |
Если для указанного ключа ещё не задано значение (или ему сопоставлено null), связывает его с указанным значением и возвращает null; в противном случае возвращает текущее значение (необязательная операция). |
default boolean |
remove |
Удаляет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция). |
default List |
replace |
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено какое-либо значение (необязательная операция). |
default boolean |
replace |
Заменяет запись для указанного ключа, только если в данный момент ему сопоставлено указанное значение (необязательная операция). |
default void |
replaceAll |
Заменяет значение каждой записи результатом вызова указанной функции для этой записи, пока не будут обработаны все записи или функция не вызовет исключение (необязательная операция). |
Подробное описание конструкторов
Заголовки
public 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.