为什么在java中,如果在命令行编译时main方法main的参数中给出“*”,就会被认为是“a”
class Bonjour {
public static void main(String[] args) {
System.out.println(args[0].charAt(0));
}
}
C:\Users\cri\Desktop>javac Bonjour.java
C:\Users\cri\Desktop>java Bonjour *
a
C:\Users\cri\Desktop>java Bonjour +
+
最佳答案
这只是您的命令 shell 在 Java 看到它之前将 *
替换为所有匹配的文件名。
结果与您手动输入类似内容相同
java Bonjour aFileInTheCurrentDirectory.tx anotherOne oneMore zeLastFile
尝试引用它以避免这种情况。
也许不确定 Windows shell 是如何工作的
java Bonjour "*"
关于java - 为什么在java中,如果在命令行编译中main方法main的参数中给出 "*",这被认为是 "a",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56274877/