2017-05-28 13 views
2

は、これだけが含まれていThisClassという名前のクラスを考えます最初の配列を自動的に2d配列に収まるようにラップしますか?それは変です。誰かがここで起こっていることを分解することができますか?私は何かが足りないと確信しています。 System.out.println(args[0][1]);Javaの配列の宣言の混乱

+2

本当にjavaには2次元配列はなく、配列の配列だけです。自動ラッピングはありません。配列を取得した後、配列リテラル構文を使用して別の配列に貼り付けています。したがって、配列の配列を作成しました。 – pvg

答えて

1

第2のmain関数が呼び出されています(引数としてはString[]を引数にとります)。

この機能では、newArgsを1つの要素のみを含む2D配列として作成します。この要素は、配列{a, b, c}です。

したがって、args[0][1]を印刷する場合は、bというという配列のインデックス1に要素を印刷します。

1

newargsは一つの要素、String[] argsが含まれているため、args[0]

public static void main(String[] args) { 
    ThisClass app = new ThisClass(); 
    String[][] newargs = {args}; 
    app.main(newargs); 
} 

のようString[]同じです。したがって、あなたはargs[1]です。bです。