私は個人的のような排他的か、^
それは、その簡潔さのブールチェックのコンテキストで理にかなって、オペレータ。私は書く方がずっと好きです
if (boolean1 ^ boolean2)
{
//do it
}
より
if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
//do it
}
しかし、私はしばしば他の経験豊富なJava開発者(初心者だけでなく)から混乱した見た目になり、時にはそれをビット単位の操作にのみ使用する方法についてコメントします。
^
オペレーターの使用に関するベストプラクティスに興味があります。
bool1 ^ bool2 ^ bool3
は、bool1 != bool2 != bool3