• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:boolean型を参照渡ししたい)

boolean型を参照渡しする方法とは?

このQ&Aのポイント
  • 質問文章から参照渡しによるboolean型の引数の取り扱いについて解説します。
  • 参照渡しは可能かどうか、また記述方法についても詳しく説明します。
  • 具体的な実装例を示しながら、参照渡しによるboolean型の値の変更方法を紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

Java言語には参照渡しは有りません。オブジェクト型は参照の値渡しになります。(C/C++のポインタ渡しの様なもの) ただし、引数で渡したオブジェクトの状態を変更した場合は、その変更は呼出し元にも反映されます。 bool値の様な単純なデータを出力引数でやり取りするのはお勧めしませんが、どうしてもというなら Apache Commons Lang の MutableBoolean などを使えば簡単に出来ます。可変の boolean フィールドを持つ簡単なクラスを自作しても良いですが。 http://commons.apache.org/lang/api-release/org/apache/commons/lang3/mutable/MutableBoolean.html 例) ------------------------------------------- public static void main(String[] args) {   MutableBoolean flg = new MutableBoolean(false);   sub(flg);   System.out.println(flg); // true と表示される。 } public static void sub(MutableBoolean flg){   flg.setValue(true);   return; } -----------------------------------------------

参考URL:
http://commons.apache.org/lang/
kiiro3
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

要素数は1つしかないけど 配列にすると渡せるわよ main() { boolean[] b = new boolean[1]; b[0] = true; sub(b); System.out.println(b[0]); } sub(boolean[] b) { b[0] = false; } 結果はfalse どんなものでも、配列にすると Javaではオブジェクト扱いになるという仕様を使った テクニックね VO作る方がかっこいいけど

kiiro3
質問者

お礼

ありがとうございました。