【问题标题】:What is the difference between args and argh and argv in Java?Java中的args和argh和argv有什么区别?
【发布时间】:2017-05-30 16:51:19
【问题描述】:

在练习一些关于hackerrank的问题时,一些解决方案使用argh而不是args(我经常使用)。另外,我知道还有另一个这样的参数可以传递给 main() 函数,那就是 argv。因此,总共存在三种不同的论点:

参数

argv

能否请您告诉我这三个之间的区别以及如何以及何时使用它们?

这里是代码:

class Solution{
public static void main(String []argh){
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    for(int i = 0; i < n; i++){
        String name = in.next();
        int phone = in.nextInt();
        // Write code here
    }
    while(in.hasNext()){
        String s = in.next();
        // Write code here
    }
    in.close();
  }
}

请注意,我并不是要解决上述问题。我已经解决了它并成功提交了,但我想知道添加 argh 而不是 args 会有什么不同?

提前致谢!

【问题讨论】:

  • 不管怎么称呼,都是同一个论点。
  • 没有区别,只是名字不同,你可以随意取名,但这些是比较常见的
  • args 是 Java 约定。 argv 在 C 和 C++ 中使用,因此可能会被那些希望他们使用过去的语言的特殊 Java 程序员使用。使用argh 是一个怪人的工作。

标签: java argv args argh


【解决方案1】:

Java 函数签名根据其返回值和参数类型进行验证,但从不检查参数的名称。这意味着

public static void main(String... parameters) { /* [...] */ }

是一个有效的main 函数。

这也意味着您不必在实现其函数时使用与接口相同的参数名称,或者在重载其函数时作为您扩展的类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 2015-09-06
    • 2012-06-22
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多