为什么在 Java 中,如果在命令行编译中与 main 方法 main 在参数中给出"*",这被认为是一个"a"



为什么在Java中使用"*"在命令行编译中的主要方法中给出,这被视为" A"

class Bonjour {
    public static void main(String[] args) {
        System.out.println(args[0].charAt(0));
    }
}
C:UserscriDesktop>javac Bonjour.java
C:UserscriDesktop>java Bonjour *
a
C:UserscriDesktop>java Bonjour +
+

只是您的命令shell在Java甚至看到它之前,用所有匹配的文件名代替*

结果与您手动输入

之类的内容相同
java Bonjour aFileInTheCurrentDirectory.tx anotherOne oneMore zeLastFile

尝试引用它以避免。

不确定Windows Shell的工作原理,也许

java Bonjour "*"

最新更新