Java中Object转String有三种方式:
Object reallyAString = "foo";
String str = (String) reallyAString;
Object reallyAString = "foo";
String str = reallyAString.toString();
Object reallyAString = "foo";
String str = String.valueOf(reallyAString);
(Sting)object
通过(String)强转时,只有被转换的对象本来就是String时才可以,比如:
Object object="Hello World";
String str=(String)object;
//由于object原来的值就是字符串,所以可以通过(String)转换
Object object=23;
(String)object;
//object原来的值不是字符串,而是数字类型,所以报错:
//Cannot cast numeric value to 'java.lang.String'
object.toString
通过object.toString()转换时调用的就是object的toString()方法,但是如果object为null时,会抛异常:
Method threw ‘java.lang.NullPointerException’ exception.’
String.valueOf()
String.valueOf中的源码是这样的:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
与object.toString()不同的是,如果被转换对象为null时,String.valueOf()不会抛出空指针异常,而是转换为字符串”null”.
如果被转换对象不为null,则直接调用被转换对象的toString().
版权声明:本文为博主原创文章,欢迎转载分享。 https://blog.csdn.net/CountryWisdom/article/details/46723153