Können wir einen booleschen Wert in der Klassenfunktion in Java ändern, funktioniert so etwas nicht, da die Änderung lokal funktioniert. Wie können wir die folgende Änderung durch eine Variable außerhalb des Methodenaufrufs reflektieren lassen?
%Vor%BEARBEITEN Der Code könnte so aussehen:
%Vor%Ich suche nach so etwas
%Vor%Ist es möglich?
Können wir einen booleschen Wert in der Klassenfunktion in Java
ändern?
Nein, Boolean
ist unveränderlich, wie alle Wrapper für die primitiven Typen.
Optionen:
boolean
von deiner Methode zurück (beste Wahl) Boolean
, mit dem Sie den eingebetteten Wert festlegen können. Sie müssten dann den Wert in der Instanz ändern, auf die sich der Parameter bezieht. Wenn Sie den Wert des Parameters so ändern, dass er auf eine andere Instanz verweist, hilft das nicht, da Argumente immer als Wert übergeben werden Java. Dieser Wert ist entweder ein primitiver Wert oder eine Referenz, aber es wird immer noch an Wert übergeben. Ändern Sie den Wert eines Parameters ändert nie die Variable des Aufrufers. boolean[]
mit einem einzelnen Element als Wrapper-Typ AtomicBoolean
als Wrapper-Typ Tags und Links java