在没有值("-Dkey")的命令行上设置Java系统属性时,它获得了什么值?

obe*_*ies 8 java command-line

根据Oracle文档,我可以使用以下语法在命令行上设置Java进程的系统属性:

-Dproperty=value
Run Code Online (Sandbox Code Playgroud)

但是当我没有指定值时会发生什么,即当我省略"equals value"部分时:

-Dproperty
Run Code Online (Sandbox Code Playgroud)

系统属性设置为什么值?true?一个空字符串?或者具有未定义的特定于实现的值的任何字符串?

Evg*_*eev 5

它将返回一个空字符串.根据System.getProperty(String key),仅当没有具有该键的属性时才返回null.因此,如果我们定义一个与-D它存在的系统