首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >(args.length>0)到底是什么意思?

(args.length>0)到底是什么意思?
EN

Stack Overflow用户
提问于 2013-07-02 18:30:55
回答 6查看 16.4K关注 0票数 0

这对你们来说可能很简单,但由于我是java新手,所以我想知道下一部分到底发生了什么?

代码语言:javascript
运行
复制
if (args.length > 0) {
    file = args[0];
}


public class DomTest1 {
    public static void main(String[] args) {
        String file = "test1.xml";
        if (args.length > 0) {
            file = args[0];
        }
    }
}
EN

回答 6

Stack Overflow用户

发布于 2013-07-02 18:31:39

这些参数称为命令行参数,在程序中以字符串数组的形式获取。这是Oracle tutorial

应用程序可以从命令行接受任意数量的参数。这允许用户在应用程序启动时指定配置信息。

用户在调用应用程序时输入命令行参数,并在要运行的类的名称后指定它们。

因此,代码如下:

代码语言:javascript
运行
复制
String file = "test1.xml";
if (args.length > 0) {
   file = args[0];
}

检查String[] args的长度是否大于0,这意味着它检查是否输入了任何命令行参数或数组是否为空。如果输入了命令行参数,则将该数组的第一个元素分配给file,否则将file默认设置为test1.xml。你可以这样运行你的类:

代码语言:javascript
运行
复制
java DomTest1  someFileName.someExtension

当应用程序启动时,运行时系统通过字符串数组将命令行参数传递给应用程序的main方法。在上一个示例中,传递给DomTest1应用程序的命令行参数在一个包含单个字符串的数组中:"someFileName.someExtension".

票数 9
EN

Stack Overflow用户

发布于 2013-07-02 18:31:43

args是一个Command Line arguments数组

当应用程序启动时,运行时系统通过字符串数组将命令行参数传递给应用程序的main方法

其中argsan arrayif (args.length > 0)是检查数组是否为空的条件。

票数 1
EN

Stack Overflow用户

发布于 2013-07-02 18:50:05

您在这里进行字符串引用,并将值放入其中。您首先要计算is>的值。它是一个文件名,但您将其作为字符串放入字符串中(意思是"test1.xml")。然后从命令行参数中获取值。并由命令行位置0重写字符串引用的值。因此您引用的值将始终是命令行0位置值如果您不传递任何值,那么它将为您提供text1.xml

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17423257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档