В чем разница между args и argh и argv в Java?
Практикуя некоторые вопросы по хакерранку, некоторые из решений имели argh вместо args (который я использовал в основном). Кроме того, я узнал, что есть еще один такой аргумент, который можно передать в функцию main(), и это argv. Таким образом, всего существует три различных аргумента:
арг
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?
заранее спасибо!
1 ответ
Сигнатуры Java-функций проверяются на основе типов возвращаемых данных и аргументов, но никогда не проверяют имя аргументов. Это означает, что
public static void main(String... parameters) { /* [...] */ }
является действительным main
функция.
Это также означает, что вам не нужно использовать те же имена аргументов, что и интерфейс при реализации его функций, или как класс, который вы расширяете при перегрузке его функций.