Nếu bạn chắc chắn rằng giá trị của bạn không phải là null
bạn có thể sử dụng tùy chọn thứ ba là
String str3 = b.toString();
và mã của nó trông giống như
public String toString() {
return value ? "true" : "false";
}
Nếu bạn muốn trở thành null- sử dụng an toàn String.valueOf(b)
mã nào trông giống như
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
để bạn thấy nó trước tiên sẽ kiểm tra null
và sau đó gọi phương thức toString()
trên đối tượng của bạn.
Calling Boolean.toString(b)
sẽ gọi
public static String toString(boolean b) {
return b ? "true" : "false";
}
mà rất ít chậm hơn so với b.toString()
từ JVM cần phải đầu tiên UnboxBoolean
để boolean
đó sẽ được thông qua như là đối số để Boolean.toString(...)
, trong khi b.toString()
reuses private boolean value
trường trong Boolean
đối tượng chứa trạng thái của nó.
Bạn đã xem mã nguồn * của hai phương pháp này chưa? –
Tôi thích '" "+ b' hơn. Nó chậm hơn nhưng hiệu quả hơn cho nhà phát triển. Nếu bạn muốn hiệu năng hàng đầu, bạn có thể ghi dữ liệu đến/từ ByteBuffer trực tiếp, tức là thay đổi những gì bạn làm với Chuỗi để bạn không cần nó. –