2017-05-30 34 views
-3

ハッカーブランクに関するいくつかの質問をしているうちに、解決策の中にはargsの代わりにarghがありました(これは私がほとんど使用していました)。また、main()関数に渡すことのできる引数がargvであることを知りました。したがって、すべてに存在する三つの異なる引数があります。Javaではargsとargghとargvの違いは何ですか?

のargv

引数

なんてこった

は、あなたは私のすべての3つのといつ、どのようにそれらを使用するとの違いを教えていただけますか?ここ

とコードです:

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(); 
    } 
} 

私は上記の質問に対する解決策を求めておりませんのでご注意ください。私はすでにそれを解決し、成功裏に提出しましたが、私が知りたいのは、argsの代わりにarghを追加することによってどのような違いが生じるのでしょうか?

ありがとうございました!

+1

どのように呼び出しても同じ議論です。 – Eran

+0

違いはありません、彼らはちょうど異なる名前です、好きなようにそれらの名前を付けることができますが、それらはより一般的なものです – Kaiserbogey

+3

'burnsする必要があるタグのニースコレクション – Aaron

答えて

4

Java関数のシグネチャは、戻り値と引数の型に基づいて検証されますが、引数の名前は決して確認されません。つまり、

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

は有効なmain機能です。

また、関数の実装時にインターフェイスと同じ引数名を使用する必要はなく、関数のオーバーロード時に拡張するクラスとして使用することもできます。

関連する問題