★★Java質問・相談スレッド160★★
■ このスレッドは過去ログ倉庫に格納されています
0505桃白白
2013/03/11(月) 11:24:11.98桃白白が教えてあげちゃう。
> aを変更しても引数でいれたint型の変数には影響無いと思っておいてよいですか?
いいよ。
> bは配列のオブジェクトなので変更すれば影響があると思っておいて良いですか?
いいよ。
> cはIntegerクラスのオブジェクトなので変更すれば影響があると思っておいて良いですか?
いいよ。
1番目の質問と2番目の質問では「変更する」の対象が違ってる。
1番目の質問の「変更する」の対象はaが指し示す値。
a = 2とか。呼び出し元に影響はない。
2番目の質問の「変更する」の対象はbが指し示すオブジェクトの状態。
b[0] = 2とか。呼び出し元にも影響する。
1番目の質問と同じように「変更する」の対象がbが指し示す値だとするなら
aと同じように呼び出し元に影響はない。
b = new int[0]と書いても呼び出し元の変数は変わらない。
3番目の質問はcが指し示すオブジェクトの状態を変更すれば影響はおよぶ。
しかし、Integerクラスは状態を変更することができないもの。
じっさいには呼び出し元に影響をおよぼすのはムリ。
■ このスレッドは過去ログ倉庫に格納されています