摘抄自大神:https://www.cnblogs.com/EasonJim/p/7867881.html
1.toString():使用时要注意保证Object对象不为null,否则会报“空指针异常”(NullPointerException)。
2.(String)object:使用时需要注意该对象的类型必须能够转成String类型,因此最好先用nstanceof关键字做一下类型检查,来判断是否可以转换,否则可能会报类型转换异常(CalssCastException)。
以下代码会报“不能转换异常”,因为Integer类型和String类型不存在继承与实现关系。 大神的解释链接:为什么Integer不能强转成String?
Object obj = new Integer(100);
String strVal = (String)obj;
但如下代码若格式有问题则会有报“格式异常”:
Integer obj = new Integer(100);
String strVal = (String)obj;
注意:null值可以强转成各种java类型,所以(String)null是合法的(值为null)。
3.String.valueOf(Object):
以下为valueOf的源码:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
valueOf不用担心null的问题,但需要注意的是,出来的值为"null"不是null。
4.object + "":
相当于new出一个StringBuilder去append,效率上会增加多一个对象的容量消耗,不建议使用该方法。