Заголовки класса
- Все реализуемые интерфейсы:
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.- Определено в:
-
sizeв интерфейсеMap<String,List<String>> - Возвращает:
- количество пар ключ-значение в этой карте
isEmpty
public boolean isEmpty()
Maptrue если эта карта не содержит пар ключ-значение.- Определено в:
-
isEmptyв интерфейсеMap<String,List<String>> - Возвращает:
-
trueесли эта карта не содержит пар ключ-значение
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 может использоваться для различения этих двух случаев.
- Определено в:
-
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)
Mapm считается содержащей сопоставление для ключа k тогда и только тогда, когда m.containsKey(k) вернёт true.)- Определено в:
-
putв интерфейсеMap<String,List<String>> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
value- значение, которое должно быть связано с указанным ключом - Возвращает:
- предыдущее значение, связанное с
key, илиnullесли дляkeyне было сопоставления. (Возвратnullможет также указывать, что карта ранее связывалаnullсо значениемkey, если реализация поддерживает нулевые значения.)
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.
В карте не будет сопоставления для указанного ключа после возврата вызова.
- Определено в:
-
removeв интерфейсеMap<String,List<String>> - Параметры:
-
key- ключ, сопоставление которого необходимо удалить из карты - Возвращает:
- предыдущее значение, связанное с
key, илиnullесли дляkeyне было сопоставления.
putAll
public void putAll(Map<? extends String,? extends List<String>> t)
Mapput(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()
MapSet ключей, содержащихся в этом отображении. Множество поддерживается отображением, поэтому изменения в отображении отражаются в множестве и наоборот. Если отображение изменяется во время итерации по множеству (кроме операции самого итератора remove), результаты итерации не определены. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, через операции Iterator.remove, Set.remove, removeAll, retainAll, и clear. Оно не поддерживает операции add или addAll. - Определено в:
-
keySetв интерфейсеMap<String,List<String>> - Возвращает:
- вид множества ключей, содержащихся в этом отображении
values
public Collection<List<String>> values()
MapCollection значений, содержащихся в этом отображении. Коллекция поддерживается отображением, поэтому изменения в отображении отражаются в коллекции и наоборот. Если отображение изменяется во время итерации по коллекции (кроме операции самого итератора remove), результаты итерации не определены. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, через операции Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll. - Определено в:
-
valuesв интерфейсеMap<String,List<String>> - Возвращает:
- вид коллекции значений, содержащихся в этом отображении
entrySet
public Set<Map.Entry<String,List<String>>> entrySet()
MapSet отображений, содержащихся в этом отображении. Множество поддерживается отображением, поэтому изменения в отображении отражаются в множестве и наоборот. Если отображение изменяется во время итерации по множеству (кроме операции самого итератора remove, или операции setValue на элементе отображения, возвращённом итератором), результаты итерации не определены. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, через операции Iterator.remove, Set.remove, removeAll, retainAll и clear. Оно не поддерживает операции add или addAll. - Определено в:
-
entrySetв интерфейсеMap<String,List<String>> - Возвращает:
- вид множества отображений, содержащихся в этом отображении
equals
public boolean equals(Object o)
Object Метод equals реализует отношение эквивалентности на не-null ссылках на объекты:
- Он рефлексивен: для любой не-null ссылки на значение
x,x.equals(x)должен вернутьtrue. - Он симметричен: для любых не-null ссылок на значения
xиy,x.equals(y)должен вернутьtrueтогда и только тогда, когдаy.equals(x)возвращаетtrue. - Он транзитивен: для любых не-null ссылок на значения
x,y, иz, еслиx.equals(y)возвращаетtrueиy.equals(z)возвращаетtrue, тогдаx.equals(z)должен вернутьtrue. - Он постоянен: для любых не-null ссылок на значения
xиy, многократные вызовыx.equals(y)последовательно возвращаютtrueили последовательно возвращаютfalse, при условии, что никакие данные, используемые в сравненияхequalsна объектах, не модифицируются. - Для любой не-null ссылки на значение
x,x.equals(null)должен вернутьfalse.
Отношение эквивалентности разделяет элементы, с которыми оно работает, на классы эквивалентности; все члены класса эквивалентности равны друг другу. Члены класса эквивалентности заменимы друг на друга, по крайней мере, для некоторых целей.
- Определено в:
-
equalsв интерфейсеMap<String,List<String>> - Переопределяет:
-
equalsв классеObject - Параметры:
-
o- объект ссылки, с которым сравнить. - Возвращает:
-
trueесли этот объект такой же, как аргумент obj;falseв противном случае. - См. также:
hashCode
public int hashCode()
ObjectHashMap. Общий контракт hashCode:
- Всякий раз, когда он вызывается на одном и том же объекте более одного раза во время выполнения Java-приложения, метод
hashCodeдолжен последовательно возвращать то же целое число, при условии, что никакие данные, используемые в сравненияхequalsна объекте, не изменяются. Это целое число не должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения. - Если два объекта равны согласно методу
equals, вызов методаhashCodeдля каждого из двух объектов должен давать тот же результат целого числа. - Не требуется, чтобы если два объекта не равны согласно методу
equals, вызов методаhashCodeдля каждого из двух объектов давал разные результаты целых чисел. Однако разработчик должен знать, что получение разных целых чисел для неравных объектов может улучшить производительность хэш-таблиц.
- Определено в:
-
hashCodeв интерфейсеMap<String,List<String>> - Переопределяет:
-
hashCodeв классе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
© 1993, 2023, 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/21/docs/api/jdk.httpserver/com/sun/net/httpserver/Headers.html