首页 > 代码库 > Java 之String.valueOf(obj)

Java 之String.valueOf(obj)

实例代码如下:

        String str = null;
        String uSelectDate = String.valueOf(str);
        System.out.println("==================uSelectDate:"+uSelectDate);
        if(uSelectDate==null){
            System.out.println("==================uSelectDate is null");
        }else{
            System.out.println("==================uSelectDate is not null");
            System.out.println("==================uSelectDate length:"+uSelectDate.length());
        }

运行结果如下:

可以看出对于值为null的使用String.valueOf()会将其转换为"null"字符串,如果直接使用String.valueOf(null)是会报空指针异常的。

对于String.valueOf()其底层也是使用toString()实现的:首先判断obj是否为空,如果为空就返回"null"串,否则就调用toString()返回对应的字符串。

public static String valueOf(Object obj) {
  return (obj == null) ? "null" : obj.toString();
}

而直接使用String.valueOf(null)为什么会报空指针异常参看:http://javacat360.iteye.com/blog/2024378