トップページ > プログラム > 2014年09月13日 > 6HBpsjad

書き込み順位&時間帯一覧

16 位/234 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000220000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Androidプログラミング質問スレ revision44

書き込みレス一覧

Androidプログラミング質問スレ revision44
731 :デフォルトの名無しさん[sage]:2014/09/13(土) 13:38:26.49 ID:6HBpsjad
基本的に関数は値渡しだと思っていたけど

private void method( ArrayList<String> arg )
{
arg.add( "second" );
}

ArrayList<String> list = new ArrayList<String>();
list.add( "first" );
method( list );
System.out.println( list ); // [first, seconf]

うん???
Androidプログラミング質問スレ revision44
732 :デフォルトの名無しさん[sage]:2014/09/13(土) 13:40:09.63 ID:6HBpsjad
private void method( ArrayList<String> arg )
{
arg = new ArrayList<String>();
arg.add( "override" );
}

ArrayList<String> list = new ArrayList<String>();
list.add( "raw_data" );
method( list );
System.out.println( list ); // [raw_data]

あれ?
Androidプログラミング質問スレ revision44
734 :デフォルトの名無しさん[sage]:2014/09/13(土) 14:31:54.68 ID:6HBpsjad
>>731
new ArrayList<String>();を参照しているlistが引数としてargにくる
argを操作するということは new ArrayList<String>();を操作している

>>732
new ArrayList<String>();を参照しているlistが引数としてargにくる
argを初期化した為にnew ArrayList<String>();を参照しなくなる

ということか

String s1 = new String( "test" );
method( s1 );

void method( String s1 )
{
s1 = null;
}

これは new String( "test" ) の操作にはならないの?
Androidプログラミング質問スレ revision44
735 :デフォルトの名無しさん[sage]:2014/09/13(土) 14:43:30.37 ID:6HBpsjad
【.hoge()】
参照先の実体の操作

または

【null, new】
変数の値である参照先の変更

だからいいのか

意識せずにやっていたわ・・・


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。