大家平时需要将一个值转换成字符串类型 String时是如果操作的?
随缘? 还是看心情?
toString? ?(String)? ?String.valueOf()?
这三个玩意的区别是啥?
所以有3个点要注意:
①这是得是对象.
?int a=10 ;?
?double b=20;?
?
? 能用toString 么? 答案是不能。 因为它们不是对象。
??
②即使是对象也得有这个方法 ?,如果这对象都没toString,那就别谈了。
③对象值不能是null,会报空指针。
?
强扭的瓜不甜,如果转不了直接报错。
所以用的时候要自己清楚这个类能不能转成String ,或者自己加个try catch 做好应对。
当然配合 instanceof 用是合适的,先判断是不是String,是再转。
明显看起来这个方法就出身于名门正派 ,是来自String类的。
但是注意的是什么,传入的值是null的时候, 会转换成 "null" ,源码上是做了处理。
那除了上面三种方式,还有没有别的方式转字符串?
我也列2种 :
① 直接后面拼接 +""? ?:
Object o = 2;
String str1=o+"";
② 使用Objects.toString(objA, "为空时的默认值") :
Object o = 2;
String s = Objects.toString(o, "空");