JavaにおけるNameValuePairの用途は何ですか?
NameValuePairは、名前と値のペアを表すインターフェイスです。Apache HttpClientライブラリの一部であり、HTTPリクエストとレスポンスでパラメータとヘッダー情報を渡すために使用されます。
Javaでは、通常、NameValuePairの実装クラスであるBasicNameValuePairを使用して作成します。BasicNameValuePairはnameとvalueの2つのプロパティを持ち、getName()メソッドとgetValue()メソッドでそれぞれ取得できます。
例えば、HTTPリクエスト内のパラメーターは、NameValuePairを使用して表すことができます。
List<NameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("username", "john"));
params.add(new BasicNameValuePair("password", "secret"));
HttpPost httpPost = new HttpPost("http://example.com/login");
httpPost.setEntity(new UrlEncodedFormEntity(params));
前述の例では、2 つの NameValuePair オブジェクトを作成してユーザー名とパスワードを表し、それらをパラメータのリストに追加しました。その後、エンティティにパラメータのリストを UrlEncodedFormEntity に設定して HttpPost リクエストにエンティティを追加し、パラメータをサーバーに送信しました。
HTTPリクエストとレスポンスでは、NameValuePairは非常に一般的存在で、フォームデータ、クエリパラメータ、ヘッダー情報など、多種多様なデータの受け渡しに使用できます。これにより、名前と値の組を表現するシンプルで汎用的な方法が提供されます。