ProcessBuilder.Environment メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このプロセス ビルダーの環境の文字列マップ ビューを返します。
[Android.Runtime.Register("environment", "()Ljava/util/Map;", "")]
public System.Collections.Generic.IDictionary<string,string>? Environment ();
[<Android.Runtime.Register("environment", "()Ljava/util/Map;", "")>]
member this.Environment : unit -> System.Collections.Generic.IDictionary<string, string>
戻り値
このプロセス ビルダーの環境
- 属性
注釈
このプロセス ビルダーの環境の文字列マップ ビューを返します。
プロセス ビルダーが作成されるたびに、環境は現在のプロセス環境のコピーに初期化されます (を参照)。System#getenv()
その後、このオブジェクトの #start()
メソッドによって開始されたサブプロセスでは、このマップが環境として使用されます。
返されるオブジェクトは、通常 java.util.Map Map
の操作を使用して変更できます。 これらの変更は、 メソッドを使用して開始されたサブプロセスに #start()
表示されます。 2 つの ProcessBuilder
インスタンスには常に独立したプロセス環境が含まれているため、返されるマップへの変更は、他 ProcessBuilder
のインスタンスや によって System#getenv System.getenv
返される値には反映されません。
システムが環境変数をサポートしていない場合は、空のマップが返されます。
返されるマップでは、null キーまたは値は許可されません。 null キーまたは値の存在を挿入またはクエリしようとすると、 NullPointerException
がスローされます。 型 String
ではないキーまたは値の存在を照会しようとすると、 ClassCastException
がスローされます。
返されるマップの動作はシステムに依存します。 システムは環境変数の変更を許可しないか、特定の変数名または値を禁止する場合があります。 このため、マップの変更の試行は、 または UnsupportedOperationException
IllegalArgumentException
オペレーティング システムで変更が許可されていない場合に失敗する可能性があります。
環境変数の名前と値の外部形式はシステムに依存するため、それらの文字列と Java の Unicode 文字列の間に 1 対 1 のマッピングが存在しない可能性があります。 それでも、マップは、Java コードによって変更されない環境変数が、サブプロセスで変更されていないネイティブ表現を持つような方法で実装されます。
返されたマップとそのコレクション ビューは、 メソッドと Object#hashCode
メソッドの一般的なコントラクトにObject#equals
従わない場合があります。
返されるマップは、通常、すべてのプラットフォームで大文字と小文字が区別されます。
セキュリティ マネージャーが存在する場合、その SecurityManager#checkPermission checkPermission
メソッドはアクセス許可を使用して RuntimePermission
("getenv.*")
呼び出されます。 これにより、 が SecurityException
スローされる可能性があります。
Java サブプロセスに情報を渡す場合、一般にシステム プロパティは環境変数よりも優先されます。
の java.lang.ProcessBuilder.environment()
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。