Jeżeli jesteś pewien, że wartość nie jest null
można użyć trzeciej opcji, która jest
String str3 = b.toString();
a jego kod wygląda
public String toString() {
return value ? "true" : "false";
}
Jeśli chcesz być null- bezpieczne używanie String.valueOf(b)
który kod wygląda jak
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
, tak jak widać, najpierw przetestuje pod kątem null
, a następnie wywoła metodę toString()
na obiekcie.
Wywołanie Boolean.toString(b)
wywoła
public static String toString(boolean b) {
return b ? "true" : "false";
}
który jest trochę wolniej niż b.toString()
ponieważ JVM musi najpierw unboxBoolean
do boolean
który zostanie przekazany jako argument do Boolean.toString(...)
, natomiast b.toString()
ponownie wykorzystuje private boolean value
pola w Boolean
obiekt, który utrzymuje swój stan.
Czy obejrzałeś * kod źródłowy * tych dwóch metod? –
Wolę "" "+ b". Jest wolniejszy, ale bardziej wydajny dla programisty. Jeśli chcesz uzyskać najwyższą wydajność, możesz zapisać dane do/z bezpośredniego ByteBuffera, tj. Zmienić to, co robisz za pomocą String, więc nie potrzebujesz tego. –