String String.valueof() toString三者之间的区别~
(String )强制类型转换,使用这种方法时,需要注意的是类型必须能转成String类型。因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。它只能转换本来就是String类型的对象,不然会报错;
toString字符串类型转换,在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常
String.valueof()当转入的变量为null时,不会报错(这种方法比较推荐)
这个方法是静态的,直接通过String调用,可以说是完美,只是平时不习惯这样写而已,这样的实现避免了前面两个的不足和缺点。首先来看看他内部的实现机制:
1 2 3 | public static String valueOf(Object obj){ return (obj== null ) ? "null" : obj.toString() }; |