- ベストアンサー
boolean型を参照渡しする方法とは?
- 質問文章から参照渡しによるboolean型の引数の取り扱いについて解説します。
- 参照渡しは可能かどうか、また記述方法についても詳しく説明します。
- 具体的な実装例を示しながら、参照渡しによるboolean型の値の変更方法を紹介します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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; } -----------------------------------------------
その他の回答 (1)
- askaaska
- ベストアンサー率35% (1455/4149)
要素数は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作る方がかっこいいけど
お礼
ありがとうございました。
お礼
ありがとうございました。