Map
<String
, List
<String
>>を実装するこのクラスによって表されます。 キーはヘッダー名を表す文字列であり、大文字と小文字は区別されません。各キーに関連付けられた値は、要求または応答内に出現する各ヘッダー名に対して1つの要素を持つList
<String
>です。
たとえば、応答ヘッダーのインスタンスに「value1」と「value2」という2つの値を持つ1つのキー「HeaderName」が含まれている場合、このオブジェクトは2つのヘッダー行として出力されます。
通常のHeaderName: value1 HeaderName: value2
Map
メソッドがすべて提供されますが、次の追加の簡易メソッドがよく使用される可能性があります。
getFirst(String)
。単一値ヘッダーまたは複数値ヘッダーの最初の値を返します。add(String,String)
。指定されたキーのリストに、指定されたヘッダー値を追加します。set(String,String)
。指定されたヘッダー・フィールドに単一値を設定して、値リストの既存の値をすべて上書きします。
Headers
のインスタンスは、「変える」または「不変」です。 「可変ヘッダー」では、HttpExchange.getResponseHeaders()
によって返されるインスタンスなど、ヘッダーの名前と値を追加、削除または変更できます。 「不変ヘッダー」では、HttpExchange.getRequestHeaders()
によって返されるインスタンスなど、ヘッダー名または値に対する変更は許可されません。 不変ヘッダー・インスタンスのミューテータ・メソッドは、無条件にUnsupportedOperationException
をスローします。
このクラスのすべてのメソッドは、キーおよび値のnull
値を拒否します。null
キーは、HTTPリクエストまたはレスポンス・ヘッダーには存在しません。
- 導入されたバージョン:
- 1.6
-
ネストされたクラスのサマリー
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明void
指定されたvalue
を、指定されたkey
のヘッダーのリストに追加します。void
clear()
マップからマッピングをすべて削除します(オプションの操作)。boolean
containsKey
(Object key) 指定されたキーのマッピングがこのマップに含まれている場合にtrue
を返します。boolean
containsValue
(Object value) このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrue
を返します。entrySet()
このマップに含まれるマッピングのSet
ビューを返します。boolean
このオブジェクトと他のオブジェクトが等しいかどうかを示します。指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnull
を返します。指定されたkey
のString
値のList
から最初の値を返します。key
のマッピングが存在しない場合はnull
を返します。int
hashCode()
オブジェクトのハッシュ・コード値を返します。boolean
isEmpty()
このマップがキーと値のマッピングを保持しない場合にtrue
を返します。keySet()
このマップに含まれるキーのSet
ビューを返します。static Headers
指定された名前値のペアをヘッダーのセットとして、不変Headers
を返します。static Headers
ヘッダー名と値が同じ指定されているheaders
から不変Headers
を返します。指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。void
指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。このマップからキーのマッピング(ある場合)を削除します(オプションの操作)。void
指定されたvalue
を、指定されたkey
の唯一のヘッダー値として設定します。int
size()
このマップ内のキー値マッピングの数を返します。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
指定されたheaders
から、同じヘッダー名および値を使用して、可変Headers
を作成します。- パラメータ:
headers
- ヘッダー名と値のマップ- 例外:
NullPointerException
-headers
またはそのいずれかの名前または値がnullの場合、またはいずれかの値にnullが含まれる場合。- 導入されたバージョン:
- 18
-
-
メソッドの詳細
-
size
public int size()インタフェースからコピーされた説明:Map
このマップ内のキー値マッピングの数を返します。 マップ内にInteger.MAX_VALUE
より多くの要素がある場合は、Integer.MAX_VALUE
を返します。 -
isEmpty
public boolean isEmpty()インタフェースからコピーされた説明:Map
このマップがキーと値のマッピングを保持しない場合にtrue
を返します。 -
containsKey
public boolean containsKey(Object key) インタフェースからコピーされた説明:Map
指定されたキーのマッピングがこのマップに含まれている場合にtrue
を返します。 より正式には、このマップがObjects.equals(key, k)
のようなキーk
のマッピングを含む場合に限り、true
を返します。 (このようなマッピングは1つのみ存在できます。)- 定義:
- インタフェース
Map<String,
内のList<String>> containsKey
- パラメータ:
key
- このマップ内にあるかどうかが判定されるキー- 戻り値:
- 指定されたキーのマッピングがこのマップに含まれている場合は
true
-
containsValue
public boolean containsValue(Object value) インタフェースからコピーされた説明:Map
このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrue
を返します。 より正式には、このマップがObjects.equals(value, v)
のような値v
への少なくとも1つのマッピングを含む場合に限り、true
を返します。Map
インタフェースのほとんどの実装で、このオペレーションにかかる時間はマップのサイズに正比例します。- 定義:
- インタフェース
Map<String,
内のList<String>> containsValue
- パラメータ:
value
- このマップにあるかどうかが判定される値- 戻り値:
- このマップが1つまたは複数のキーを指定された値にマッピングしている場合は
true
-
get
インタフェースからコピーされた説明:Map
指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnull
を返します。より正式には、このマップにキー
k
からObjects.equals(key, k)
のような値v
へのマッピングが含まれている場合、このメソッドはv
を返します; それ以外の場合は、null
を返します。 (このようなマッピングは1つのみ存在できます。)このマップがnull値を許可する場合、戻り値の
null
は、マップがキーのマッピングを保持していないことを示すとはかぎりません。つまり、マップが明示的にキーをnull
にマップすることもあります。containsKey
操作を使うと、これら2つのケースを見分けることができます。 -
getFirst
指定されたkey
のString
値のList
から最初の値を返します。key
のマッピングが存在しない場合はnull
を返します。- パラメータ:
key
- 検索するキー- 戻り値:
- キーに関連付けられた最初の
String
値、キーのマッピングが存在しない場合はnull
-
put
インタフェースからコピーされた説明:Map
指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。 マップにすでにこのキーに対するマッピングがある場合、古い値は指定された値に置き換えられます。m.containsKey(k)
がtrue
を返す場合に限り、マップm
はキーk
のマッピングを含むと言えます。 -
add
指定されたvalue
を、指定されたkey
のヘッダーのリストに追加します。 マッピングがまだ存在しない場合は、作成されます。- パラメータ:
key
- ヘッダー名value
- ヘッダーに追加する値
-
set
指定されたvalue
を、指定されたkey
の唯一のヘッダー値として設定します。 マッピングがまだ存在しない場合は、作成されます。- パラメータ:
key
- ヘッダー名value
- 設定するヘッダー値
-
remove
インタフェースからコピーされた説明:Map
このマップからキーのマッピング(ある場合)を削除します(オプションの操作)。 より正式には、このマップに、k
からObjects.equals(key, k)
のような値v
へのマッピングが含まれている場合、そのマッピングは削除されます。 マップはこのようなマッピングを1つだけ含めることができます。このマップが以前にこのキーを関連付けていた値を返します。キーに対するマッピングがマップになかった場合は
null
を返します。このマップがnull値を許可する場合、戻り値の
null
は、マップがキーのマッピングを保持していなかったことを示すとはかぎりません。つまり、マップが明示的にキーをnull
にマップしていた可能性もあります。呼出しが戻ると、マップは指定されたキーのマッピングを含まなくなります。
-
putAll
インタフェースからコピーされた説明:Map
指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。 この呼出しの効果は、指定されたマップ内のキーk
から値v
へのマッピングごとに、このマップに対してput(k, v)
を1回呼び出した場合と同じです。 オペレーションの進行中に、指定されたマップが変更された場合の、このオペレーションの動作は定義されていません。 -
clear
public void clear()インタフェースからコピーされた説明:Map
マップからマッピングをすべて削除します(オプションの操作)。 この呼出しが戻ると、マップは空になります。 -
keySet
インタフェースからコピーされた説明:Map
このマップに含まれるキーのSet
ビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremove
オペレーションを除く)。 セットは要素の削除をサポートします。Iterator.remove
、Set.remove
、removeAll
、retainAll
、およびclear
オペレーションで対応するマッピングをマップから削除します。add
またはaddAll
操作はサポートされていません。 -
values
public Collection<List<String>> values()インタフェースからコピーされた説明:Map
このマップに含まれる値のCollection
ビューを返します。 コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。 コレクションの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremove
オペレーションを除く)。 コレクションは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.remove
、Collection.remove
、removeAll
、retainAll
、およびclear
オペレーションを通して行います。add
またはaddAll
操作はサポートされていません。 -
entrySet
インタフェースからコピーされた説明:Map
このマップに含まれるマッピングのSet
ビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremove
オペレーション、またはイテレータにより返されるマップ・エントリに対するsetValue
オペレーションを除く)。 セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.remove
、Set.remove
、removeAll
、retainAll
、およびclear
オペレーションを通して行います。add
またはaddAll
操作はサポートされていません。 -
equals
public boolean equals(Object o) 次のクラスからコピーされた説明:Object
このオブジェクトと他のオブジェクトが等しいかどうかを示します。equals
メソッドは、null以外のオブジェクト参照での同値関係を実装します。- 反射性(reflexive): null以外の参照値
x
について、x.equals(x)
はtrue
を返します。 - 対称性(symmetric): null以外の参照値
x
およびy
について、y.equals(x)
がtrue
を返す場合に限り、x.equals(y)
はtrue
を返します。 - 推移性(transitive): null以外の参照値
x
、y
、およびz
について、x.equals(y)
がtrue
を返し、y.equals(z)
がtrue
を返す場合、x.equals(z)
はtrue
を返します。 - 一貫性(consistent): null以外の参照値
x
およびy
について、x.equals(y)
の複数の呼出しは、このオブジェクトに対するequals
による比較で使われた情報が変更されていなければ、一貫してtrue
を返すか、一貫してfalse
を返します。 - null以外の参照値
x
について、x.equals(null)
はfalse
を返します。
等価関係は、操作対象の要素を「同等クラス」にパーティション化し、等価クラスのすべてのメンバーは互いに等しくなります。 等価クラスのメンバーは、少なくともなんらかの目的で互いに置換可能です。
- 反射性(reflexive): null以外の参照値
-
hashCode
public int hashCode()次のクラスからコピーされた説明:Object
オブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMap
によって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。hashCode
の一般的な規則は次のとおりです。- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
equals
の比較で使用される情報が変更されていなければ、hashCode
メソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。 - 2つのオブジェクトが
equals
メソッドに従って等しい場合、2つのオブジェクトのそれぞれでhashCode
メソッドを呼び出すと、同じ整数結果が生成される必要があります。 - 2つのオブジェクトが
equals
メソッドに従って等しくない場合、2つのオブジェクトのそれぞれでhashCode
メソッドを呼び出すと、個別の整数結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。
- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
-
of
指定された名前値のペアをヘッダーのセットとして、不変Headers
を返します。提供された
String
インスタンスは、ヘッダー名とヘッダー値として代替する必要があります。 同じ名前に複数の値を追加するには、新しい値ごとに同じ名前を指定する必要があります。 指定されたheaders
が空の場合は、空のHeaders
が返されます。- パラメータ:
headers
- 名前値のペアのリスト- 戻り値:
- 指定された名前と値のペアを持つ不変ヘッダー
- 例外:
NullPointerException
-headers
またはそのいずれかの要素がnullの場合。IllegalArgumentException
- 指定された文字列の数が奇数の場合。- 導入されたバージョン:
- 18
-
of
ヘッダー名と値が同じ指定されているheaders
から不変Headers
を返します。- パラメータ:
headers
- ヘッダー名と値のマップ- 戻り値:
- 不変ヘッダー
- 例外:
NullPointerException
-headers
またはそのいずれかの名前または値がnullの場合、またはいずれかの値にnullが含まれる場合。- 導入されたバージョン:
- 18
-