Die bitweisen Operatoren sollen Variablen bewegen und sie bitweise bearbeiten. Im Fall von Ganzzahlen, Longs, Zeichen ist dies sinnvoll. Diese Variablen können den gesamten Wertebereich enthalten, der durch ihre Größe erzwungen wird.Auswirkung eines bitweisen Operators auf einen booleschen Wert in Java
Bei booleschen Werten kann ein boolescher Wert jedoch nur zwei Werte enthalten. 1 = wahr oder 0 = falsch. Die Größe des Booleschen Werts ist jedoch nicht definiert. Es kann so groß wie ein Byte oder so klein sein.
Also, was ist der Effekt der Verwendung eines bitweisen Operators auf einem booleschen? Versetzt die JVM sie im Wesentlichen in einen normalen logischen Operator und geht weiter? Behandelt es den booleschen Wert als eine Ein-Bit-Entität für den Zweck der Operation? Oder ist das Ergebnis undefiniert mit der Größe eines booleschen Wertes?
Ich denke, Sie können nicht einen bitweisen Operator auf einem booleschen verwenden. Nur für Zahlen. Ich bin mir sicher, ~ wird nicht funktionieren, ich weiß nicht, was mit anderen Betreibern. –
Sie können einige von ihnen verwenden, wir haben gerade ein | entdeckt in unserem Legacy-Code verwendet. Wir entfernen es, aber dieser Code wurde kompiliert und funktioniert. –
Da einer kurzgeschlossen ist und der andere nicht (siehe mobrules Antwort), bevor Sie den | zu || Vielleicht möchten Sie sicherstellen, dass die nachfolgenden booleschen Ausdrücke keine Nebenwirkungen haben, die der ursprüngliche Programmierer immer ausführen wollte. –