2012-03-07 57 views
14

在下面的程序中,如果這是執行的(例如通過命令行),那麼獨立保證JVM的參數不能爲空?參數保證爲非空嗎?

public class test { 
    public static void main(String[] args) { 
    } 
} 
+0

對於各個值,例如'args [0]':http://stackoverflow.com/questions/3868878/java-check-if-command-line-arguments-are-null – 2015-03-27 10:32:51

回答

10

簡短回答:是的,它可能長度爲0,但不會爲空。

+0

@casablanca,有什麼更新版本的Java? – 2012-03-07 16:46:27

+1

@Peter Lawrey:http://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12--這在Java 7規範中似乎沒有改變。 – casablanca 2012-03-07 16:49:30

2

我在Loading, Linking, and Initializing部分找不到聲明Java虛擬機規範需要參數非空。

因此,必須假定null是允許的,並且,在迂迴中,您的程序應該準備好處理null參數。即使在典型的運行時環境中,例如使用java程序啓動Java程序以在Linux上啓動JVM,也不會出現參數爲null的情況。