Ja osobiście jak wyłącznego lub , ^
, operatora, gdy ma to sens w kontekście logicznych kontroli ze względu na jego zwięzłość. Wolę pisać
if (boolean1 ^ boolean2)
{
//do it
}
niż
if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
//do it
}
ale często mam zdezorientowane spojrzenia od innych doświadczonych programistów Java (nie tylko początkujących), a czasami komentarze o tym, jak powinno być używane tylko do operacji bitowych.
Ciekawi mnie najlepsze praktyki dotyczące korzystania z ^
operatora.
bool1 ^ bool2 ^ bool3
bool1 != bool2 != bool3