java中将Object类型转换成String类型

1. String.valueOf(Object)

从下图(a图)的String类的valueOf(Object)的源码可以看到,当传入的值为null的时候返回的是“null”字符串,而不是null,所以在这里如果想判断这个string的值不为空的时候,应该用字段串相关判断不为空的方法例如用equals方法。示例如下(b图)

 

a图:string类valueOf(Object)的源码

java中将Object类型转换成String类型

b图:示例

public void testObject(){
Object o = null ;
   String s = String.valueOf(o);
   if ("null".equals(s)){
   System.out.println("返回的结果是null字符串");
}
if (s==null){//可以使用s=="null"
   System.out.println("返回的结果是null");
}
}
结果:返回的结果是null字符串

2. Object.toString()

上a图string类valueOf(Object)的源码中,可以看到这里最终还是调用Object.toString()这个方法,所以可以直接用此方法转换成字符串。注意:必须保证Object不是null值,否则将抛出NullPointerException异常。

可以先判断Object对象不为null的时候,再转换成字符串 。

java中将Object类型转换成String类型

3. (String)Object

需要转换的类型必须是能够转换为String类型的,否则会出现CalssCastException异常错误。

java中将Object类型转换成String类型