2012-03-10 9 views

答えて

6

すべてのJava配列はオブジェクトです。引数として渡すと、参照のコピーが配列に渡されます。

+0

これは私が考えたものです。変数の宣言にint型ではなくInteger型ではないかどうかはわかりませんでした。 (btw、受け入れるまで11分:P)。ありがとう – AndreiBogdan

+2

前述のように、配列/オブジェクトは参照のコピーによって渡されます。特定の例:http://stackoverflow.com/a/333217/879167 –

2

javaでは、配列は完全なオブジェクトです。つまり、Javaのすべてのプリミティブとオブジェクト参照は、常に値渡され、決して参照渡されません。オブジェクトの場合、オブジェクト参照が渡されます。これと参照渡しの違いは微妙ですが重要です。

+0

オブジェクトはまったく渡されません。あなたは3番目の文で言いますが、2番目の文を修正する必要があります。 –

+0

@JonSkeet:ありがとう。私は2番目の文章を変更しました。今はいいですか? – Asaph

+0

うん、確かに - ありがとう。 –

5

アレイはオブジェクトです。配列の配列もオブジェクトです。 Javaには多次元配列がありません。配列の配列をサポートしています。

int [][] foo = {{1}, {2,2}, {3,4,5}}; 
if (foo instanceof int[][]) { // can only use instanceof with objects 
} 
System.out.println(foo.getClass()); // has object methods