Заголовки класса
- Все реализуемые интерфейсы:
Map<String, List<String>>
public class Headers extends Object implements Map<String, List<String>>
Map<String, List <String>>. Ключами являются регистронезависимые строки, представляющие имена заголовков, а значение, связанное с каждым ключом, — List<String> с одним элементом для каждого вхождения имени заголовка в запросе или ответе. Например, если экземпляр заголовка ответа содержит один ключ "HeaderName" со значениями "value1 и 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 представление значений, содержащихся в этой карте. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе java.util.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. Операция 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.
Карта не будет содержать отображения для указанного ключа после возвращения вызова.
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://download.java.net/java/early_access/jdk24/docs/api/jdk.httpserver/com/sun/net/httpserver/Headers.html