呼び出されたときにブール変数をtrueに変更し、再度呼び出されたときに同じ変数をfalseに変更するメソッドを作成しようとしています。
例:メソッドの呼び出し->ブール= true->メソッドの呼び出し-> boolean = false->メソッドの呼び出し-> boolean = true
だから基本的に、
if (a = false) { a = true; }
if (a = true) { a = false; }
メソッドを呼び出すたびに、ブール値がtrueに変わり、再びfalseになるため、これを実現する方法がわかりません。
value ^= true;
それは値xor-equals trueであり、毎回、分岐変数または一時変数なしでそれを反転します。
それを見ないで、それ自体ではないに設定します。 Javaでコーディングする方法はわかりませんが、Objective-Cでは
booleanVariable = !booleanVariable;
これにより、変数が反転します。
呼び出されるたびにトグルするだけです
this.boolValue = !this.boolValue;
上記のコードが実際のコードであると仮定すると、2つの問題があります。
1)ifステートメントは「==」ではなく「==」にする必要があります。割り当てではなく比較を行います。
2)2番目のifは「else if」でなければなりません。それ以外の場合は、falseの場合、trueに設定し、2番目のifを評価し、説明したようにfalseに戻します
if (a == false) {
a = true;
} else if (a == true) {
a = false;
}
さらにシンプルにするもう1つのことは、「!」です。オペレーター:
a = !a;
aの値を切り替えます。
私はboolean = !boolean;
value = (value) ? false : true;
var logged_in = false;
logged_in = !logged_in;
ちょっとした例:
var logged_in = false;
$("#enable").click(function() {
logged_in = !logged_in;
checkLogin();
});
function checkLogin(){
if (logged_in)
$("#id_test").removeClass("test").addClass("test_hidde");
else
$("#id_test").removeClass("test_hidde").addClass("test");
$("#id_test").text($("#id_test").text()+', '+logged_in);
}
.test{
color: red;
font-size: 16px;
width: 100000px
}
.test_hidde{
color: #000;
font-size: 26px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test" id="id_test">Some Content...</div>
<div style="display: none" id="id_test">Some Other Content...</div>
<div>
<button id="enable">Edit</button>
</div>
private boolean negate(boolean val) {
return !val;
}
それがあなたが求めているものだと思いますか?
in Java変数に値を設定すると、新しい値が返されます。
private boolean getValue()
{
return value = !value;
}