メソッドとして新しい配列を渡しても、その配列にデータが残っていますか?パラメータとしてのJava配列
例えば、私はこの方法を持っています:foo(String[])
と私はこれをfoo(new String[] s = {"String1", "String2"})
のように呼んでいます。しかし、これは有効なJavaではありません。
メソッドとして新しい配列を渡しても、その配列にデータが残っていますか?パラメータとしてのJava配列
例えば、私はこの方法を持っています:foo(String[])
と私はこれをfoo(new String[] s = {"String1", "String2"})
のように呼んでいます。しかし、これは有効なJavaではありません。
これは、「有効なJavaの方法」(のように、それはあなたが望むものをコンパイルしない)である:あなたがこの方法を変更する機会を持っている場合は、その後、
foo(new String[] {"String1", "String2"});
また、その後、有効で、次の
foo("String1", "String2");
:明示的に配列を作成するために、次のように
public void foo(String... strings) {
// ...
}
は、その後、あなたが必要とすることなく、それを使用することができます:あなたはまたvarargs引数を取る方法を変更することを検討することができます:
foo("String1");
と
foo("String1", "String2", "String3");
などです。
ローカル変数s
を作成しておきたい場合は、メソッド呼び出し内で変数を宣言することはできません。
String[] s = {"String1", "String2"};
foo(s);
あなたはコール内でs
を初期化することができますが、私はそうする理由が表示されない、プラスそれは本当に悪いになります:あなたは、コールの外で最初にそれを宣言する必要が
String[] s;
foo(s = new String[] {"String1", "String2"});
だけ値を渡すと、もはや変数s
を必要としない、このようにそれを行う場合:
foo(new String[] {"String1", "String2"});
あなたは変数を宣言することはできませんが、配列を渡すことができます。
foo(new String[] { "String1", "String2" });
同じ配列を後で参照する場合は、呼び出し前に宣言する必要があります。
foo(新しいString [] {"String1"、 "String2"})
vaueを取得するにはどうすればいいですか? –