如何在Java main中记录args

时间:2016-10-31 08:47:10

标签: java javadoc

如何记录以下内容中记录args参数的内容:

public static void main(String[] args) {
    ...
}

我没有询问如何在javadoc中使用@param块标记,而是如何记录数组中每个项目的内容应该是什么。

例如:" args [1]是宽度,args [2]是高度等等#34;。

<ol><li></li></ol>可以走了吗?

3 个答案:

答案 0 :(得分:5)

您只能通过在javadoc中写下描述期望参数的一些文本,以非正式方式执行此操作。

含义:这里没有单一,正确的方法。

换句话说:您应该使用最适合您的选项,以及团队/项目中的其他人。

如果您的“团队风格指南”允许(问?)您在javadoc中使用HTML标记,那么请使用HTML标记。如果您的团队有一些更复杂的方法允许使用某种 markdown 语言,那么就使用它。否则,您可能只应使用{@code}突出显示某些部分。

长话短说:这里没有确切的规则;所以你应该最符合你的需求

但请记住:最后 javadoc 可能不那么重要。如果您认为您的应用程序是直接从命令行使用的,那么您的主要焦点应该是“java -jar yourjar --help”之类的内容可以提供合理的输出。并且你不会在“论证”解析方面重新发明轮子。换句话说:有很多库可用于命令行解析。我非常确定他们应该支持记录命令行用户的潜在参数。

我所说的是:在“正常”设置中,我希望那些对调用主方法感兴趣的人正在阅读javadoc。他们想看看一些帮助屏幕,以了解他们可以使用哪些选项!

答案 1 :(得分:2)

您处于Java框架的边界。主机运行时环境将main的参数作为字符串数组提供。您必须编写代码来定义这些字符串的含义。对于您编写的其他方法,您可能会声明多个参数来表示该方法的每个输入,并使用@param javadoc语法来记录每个参数。

了解其他人是如何做到的:String.format - 虽然这会使用vararg语法,但它会被转换为数组。

回答你的问题:没有一种正确的方法可以做到这一点。

答案 2 :(得分:2)

您可能需要查看apache-commons-cli usage文档,该文档可作为跨Java社区的cli处理的公共库。

  

Apache Commons CLI库提供了用于解析命令的API   传递给程序的行选项。它还能够打印帮助信息   详细说明命令行工具可用的选项。

最后一句话恰恰与你的要求产生共鸣。以下是common-cli支持的各种形式的命令行处理可能性:

  1. POSIX like options(即tar -zxvf foo.tar.gz)
  2. GNU就像长选项(即du -human-readable --max-depth = 1)
  3. 类似Java的属性(即java -Djava.awt.headless = true -Djava.net.useSystemProxies = true Foo)
  4. 附加值的短期权(即gcc -O2 foo.c)
  5. 单个连字符的长选项(即ant -projecthelp)
  6. 如果您想进行自己的实施,您仍然可以从他们的文档中获取提示。