Personalmente mi piace l' operatore esclusivo o , ^
quando ha senso nel contesto dei controlli booleani a causa della sua concisione. Preferisco di gran lunga scrivere
if (boolean1 ^ boolean2)
{
//do it
}
di
if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
//do it
}
ma ricevo spesso sguardi confusi da altri sviluppatori Java esperti (non solo i neofiti), e talvolta commenti su come dovrebbe essere usato solo per operazioni bit a bit.
Sono curioso di sapere quali sono le migliori pratiche relative all'uso ^
dell'operatore.
bool1 ^ bool2 ^ bool3
Per me ha più senso logico dibool1 != bool2 != bool3