Java中如何获取main方法参数数组String[] args的最后一个元素?
获取Java命令行参数数组的最后一项
别担心,这个问题其实比你想的简单!不管是String[]还是其他类型的数组,获取最后一项的逻辑都是通用的——利用数组的**length属性**来计算索引。
核心实现代码
数组的索引从0开始计数,所以最后一项的索引就是数组长度减1。针对你的命令行参数数组args,直接这么写就行:
String filename = args[args.length - 1];
为什么你会觉得比整数数组复杂?
其实本质上完全一致,比如你有整数数组int[] nums = {1, 2, 3, 4},获取最后一项也是nums[nums.length - 1]。可能是你没意识到String[]同样拥有length属性,或者担心出现异常?
安全优化建议
为了避免用户未传入任何参数时触发ArrayIndexOutOfBoundsException,建议先做个简单的参数检查:
// 先判断参数是否为空 if (args.length == 0) { System.err.println("错误:请至少提供一个文件名作为参数!"); System.exit(1); // 终止程序 } // 再获取最后一项作为文件名 String filename = args[args.length - 1];
实际场景示例
比如用户执行命令:java MyApp -verbose -output result.log data.csv,此时args数组内容为["-verbose", "-output", "result.log", "data.csv"],args.length的值是4,args[3]就对应最后一项data.csv,正好是你需要的文件名。
这样处理就完全满足你的需求啦!
内容的提问来源于stack exchange,提问作者MarkCoder
相关产品推荐
相关产品推荐

