当java(解释器)区分大小写时,为什么Java编译器(javac)不区分大小写?

Use*_*854 2 java compiler-construction jvm

当我执行Java程序时,我注意到Java编译器在文件名方面不区分大小写,而Java解释器区分大小写.

Java解释器区分大小写是非常容易理解的,因为类文件的名称是Java代码中定义的类的名称.

Java编译器是否有任何不恰当的原因?

SLa*_*aks 6

Windows文件系统不区分大小写.
您不能(合理地)在不区分大小写的文件系统上找到区分大小写的文件.

如果您javac在具有区分大小写的文件系统的Linux上运行,则它将区分大小写.

  • @DavidConrad案例保留和区分大小写通常被视为不同的属性.虽然区分大小写意味着案例保留,但情况恰恰相反.所以Windows文件系统目前不区分大小写.答案没有谈论保存案例,所以我认为它是完全正确的. (3认同)