在练习hackerrank上的一些问题时,某些解决方案具有argh而不是args(我主要使用的(。另外,我知道还有另一个可以传递给main((函数的论点,也就是argv。因此,存在三种不同的参数:
args
argh
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会带来什么区别?
预先感谢!
Java函数签名是根据其返回和参数类型验证的,但切勿检查参数的名称。这意味着
public static void main(String... parameters) { /* [...] */ }
是有效的main
函数。
这也意味着您在实现其函数时不必使用与接口相同的参数名称,或者作为超载函数时扩展的类。