在java中将布尔对象转换为字符串的最佳方法
我正在尝试将布尔值转换为字符串类型...
I am trying to convert boolean to string type...
Boolean b = true;
String str = String.valueOf(b);
或
Boolean b = true;
String str = Boolean.toString(b);
以上哪一项会更有效?
推荐答案
我认为它们之间不会有任何显着的性能差异,但我更喜欢第一种方式.
I don't think there would be any significant performance difference between them, but I would prefer the 1st way.
如果你有一个 Boolean
引用,如果你的引用是 null
,Boolean.toString(boolean)
将抛出 NullPointerException
代码>.因为引用在传递给方法之前被拆箱为 boolean
.
If you have a Boolean
reference, Boolean.toString(boolean)
will throw NullPointerException
if your reference is null
. As the reference is unboxed to boolean
before being passed to the method.
虽然,String.valueOf()
方法如源代码所示,显式 null
检查:
While, String.valueOf()
method as the source code shows, does the explicit null
check:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
只需测试这段代码:
Boolean b = null;
System.out.println(String.valueOf(b)); // Prints null
System.out.println(Boolean.toString(b)); // Throws NPE
对于原始布尔值,没有区别.
For primitive boolean, there is no difference.
相关文章