当我执行Java程序时,我注意到Java编译器对文件名不区分大小写,而Java解释器区分大小写。
Java解释器区分大小写是非常容易理解的,因为类文件的名称是Java代码中定义的类的名称。
Java编译器是否有任何理由不区分大小写?
答案 0 :(得分:6)
Windows文件系统不区分大小写 您不能(理所当然)在不区分大小写的文件系统上找到区分大小写的文件。
如果您在Linux上使用区分大小写的文件系统运行javac
,它将区分大小写。
答案 1 :(得分:3)
它取决于底层文件系统。 Windows的文件系统不区分大小写,因此当java编译器查找“Foo.java”时,操作系统会很高兴地打开'foo.java'。
答案 2 :(得分:3)
据推测,您正在使用保留大小写或不区分大小写的文件系统在Windows或其他操作系统上运行编译器。如果您在使用区分大小写的文件系统的操作系统上运行它,您将得到不同的结果。换句话说,它不是编译器,而是操作系统(或者说是文件系统)。
答案 3 :(得分:3)
Windows仍然是一个面向儿童和人们的操作系统,他们只想上网或进行财务文书工作。但不适合开发人员。
近20年来,MS在以下方面几乎没有做任何事情:
因此,如果您开发Java,请确保您没有仅在大小写不同的类或包名称。这将不可避免地导致灾难。
帮自己一个忙,给你的HD留一点空间,或者连接一个外置的,并安装双启动LINUX。如果必须,请创建一个虚拟机。一旦安装了您喜爱的IDE,您将永远不会回头。而且你将在此过程中学习一两点。