Java中的args和argh和argv有什么区别?

eni*_*174 -1 java args argv argh

在针对hackerrank练习一些问题时,某些解决方案使用了argh而不是args(我最常使用的是args)。另外,我知道还有另一个这样的参数可以传递给main()函数,即argv。因此,总共存在三个不同的参数:

args

精油

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

这是代码:

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();
  }
}
Run Code Online (Sandbox Code Playgroud)

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

提前致谢!

Aar*_*ron 5

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

public static void main(String... parameters) { /* [...] */ }
Run Code Online (Sandbox Code Playgroud)

是有效的main函数。

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