當我執行Java程序時,我注意到Java編譯器對文件名不區分大小寫,而Java解釋器區分大小寫。當Java(解釋器)區分大小寫時,爲什麼Java編譯器(javac)不區分大小寫?
區分大小寫的Java解釋器非常容易理解,因爲類文件的名稱是Java代碼中定義的類的名稱。
Java編譯器是不區分大小寫的嗎?
當我執行Java程序時,我注意到Java編譯器對文件名不區分大小寫,而Java解釋器區分大小寫。當Java(解釋器)區分大小寫時,爲什麼Java編譯器(javac)不區分大小寫?
區分大小寫的Java解釋器非常容易理解,因爲類文件的名稱是Java代碼中定義的類的名稱。
Java編譯器是不區分大小寫的嗎?
它取決於底層文件系統。 Windows的文件系統不區分大小寫,所以當java編譯器尋找'Foo.java'時,操作系統會高興地打開'foo.java'。
Windows仍然是一個面向兒童和人們的操作系統,他們只是想上網或做他們的財務文書工作。但不適合開發者。
由於近20年來,微軟已經做幾乎沒有關於:
因此,如果您開發Java,請確保您沒有僅在大小寫不同的類或包名稱。這總是會導致災難。
幫你一個忙,在你的HD上佔用一點空間,或者附加一個外部空間,然後安裝一個雙啓動LINUX。如果必須,請創建一個虛擬機。一旦你安裝了你喜歡的IDE,你將永遠不會回頭看。一路上你會學到一點或兩點。
我想我應該感謝您給您一個空間讓您對微軟發泄憤怒。 您的建議採取了一旦我對JAVA有一個很好的命令,我將轉向Linux(Ubuntu,最好)。 – User27854
@ user2900314沒有憤怒,只是事實。尤其是使用Java。您獨立於操作系統(除非您需要綁定到僅在Windows上提供的本機內容)。你有選擇。 – Ingo
公平起見,他們確實在最新版本的Windows中添加了PowerShell,儘管很難說至少使其成爲默認的'cmd.exe':http://superuser.com/questions/608194/如何設置powershell作爲默認代替cmd-exe –
你是否在Windows系統上執行java編譯器?如果是這樣,那麼就有你的罪魁禍首,因爲Windows將路徑視爲不區分大小寫。 –
如果您嘗試使用'java MyProgram'運行程序,則命令行參數是類名稱,而不是文件名。 Java中的類名稱區分大小寫。這是你問的行爲嗎?至於爲什麼文件名不區分大小寫 - 如果你在Windows上,這就是事情的方式。 – ajb