425 Stimmen

Boolesch in int umwandeln in Java

Welches ist die gängigste Methode zur Umwandlung einer boolean zu einer int in Java?

716voto

Jonathan ANTOINE Punkte 8662
int myInt = myBoolean ? 1 : 0;

^^

PS: wahr = 1 und falsch = 0

165voto

Grodriguez Punkte 21042
int val = b? 1 : 0;

85voto

barjak Punkte 10134

Die Verwendung des ternären Operators ist der einfachste, effizienteste und lesbarste Weg, um das zu erreichen, was Sie wollen. Ich möchte Sie ermutigen, diese Lösung zu verwenden.

Ich kann jedoch nicht widerstehen, eine alternative, ausgeklügelte, ineffiziente und unleserliche Lösung vorzuschlagen.

int boolToInt(Boolean b) {
    return b.compareTo(false);
}

Hey, die Leute stimmen gerne für solche coolen Antworten!

bearbeiten

Übrigens habe ich oft Konvertierungen von einem Boolean in einen Int gesehen, die nur dem Zweck dienen, einen Vergleich der beiden Werte durchzuführen (im Allgemeinen in Implementierungen von compareTo Methode). Boolean#compareTo ist in diesen speziellen Fällen der richtige Weg.

Bearbeiten 2

Mit Java 7 wurde eine neue Dienstfunktion eingeführt, die direkt mit primitiven Typen arbeitet, Boolean#compare (Dank Schmosel )

int boolToInt(boolean b) {
    return Boolean.compare(b, false);
}

52voto

boolean b = ....; 
int i = -("false".indexOf("" + b));

32voto

Darkeniel Punkte 475
import org.apache.commons.lang3.BooleanUtils;
boolean x = true;   
int y= BooleanUtils.toInteger(x);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X