我写了一个这样的类并命名它Solution.java.
public class Solution {
public static void main(String[] args) {
System.out.println(args.length);
}
}
Run Code Online (Sandbox Code Playgroud)
当我在终端中运行它时,我得到了这样的结果:
> /Users/WangWei java Solution *
18
> /Users/WangWei
Run Code Online (Sandbox Code Playgroud)
为什么18?
Dan*_* S. 21
这可能是工作目录中的文件数量.
结果*不是特定于Java.它特定于您正在使用的环境,即工作目录和用于运行java命令的shell类型(Windows命令提示符,bash,...).这是因为shell在启动进程之前处理并评估命令行.它取代了*.
要保留*作为命令行参数,您需要引用它:
java Solution '*'
Run Code Online (Sandbox Code Playgroud)
你的shell正在解释当前文件夹的内容 - 传入了18个文件.使用单引号来避免解释星号
java Solution '*'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |