2013年6月4日火曜日

Javaでのプリミティブの参照渡し(疑似的)

  • Javaでプリミティブを参照渡しっぽく渡す書き方。
  • 基本的な事柄なのだが忘れがちだし、知らない人もいるし、なんか検索しても微妙だったので
  • 基本的にJavaではプリミティブを参照渡しすることができない
  • なのでオブジェクトにラップして云々というのがあるが、そのためにクラスを作るとかは面倒
  • こういう場合は配列にラッピングしてあげると呼び出し先で書き換えることができる 
  • こうすれば、そんなに違和感なく書くことができる
==========================================
void somefunction(){
    Integer[] out_number = new Integer[]{ 0 };
    Hoge(out_number);
    // out_number == 2 //
 }

void Hoge(Integer[] out_number){

   out_number[0] = 2;
}
==========================================