获取指定的环境变量值。环境变量是一个取决于系统的外部指定的值。
如果安全管理器存在,则通过 runtimepermission
("getenv."+name)
的权限调用其 checkpermission
方法。这可能导致抛出 securityexception
。如果没有抛出异常,则返回变量 name
的值。
从概念上讲,系统属性 和环境变量 都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给 java 进程。环境变量产生更多的全局效应,因为它们不仅对紧接着出现的 java 子进程可见,而且对于定义它们的进程的所有子进程都是可见的。在不同的操作系统上,它们的语义有细微的差别,比如,不区分大小写。因为这些原因,环境变量更可能有意料不到的副作用。最好在可能的地方使用系统属性。环境变量应该在需要全局效应的时候使用,或者在外部系统接口要求使用环境变量时使用(比如 path
)。
在 unix 系统中,name
的字母大小写通常很重要,而在 microsoft windows 系统中,这通常不重要。例如,表达式 system.getenv("foo").equals(system.getenv("foo"))
在 microsoft windows 中可能为真。
- 参数:
name
- 环境变量的名称
- 返回:
- 变量的字符串值,如果变量不是在系统环境中定义的,则返回
null
- 抛出:
nullpointerexception
- 如果 name
为 null
securityexception
- 如果安全管理器存在并且其 checkpermission
方法不允许访问环境变量 name
- 另请参见:
getenv()
,
processbuilder.environment()