(String)、toString()与String.valueOf()的区别

tech2022-10-15  110

 

1.(String)

介绍

将object转成String类型的值。使用这种方法时,需要注意的是类型必须能转成String类型,否则容易抛出CalssCastException异常

示例

 

Object o = new Integer(1); String str = (String)o; System.out.println(str);

 

输出

2.toString()

介绍

一般的对象或者参数都是有toString()的方法的,但是当参数为空的时候.toString()方法就会报出空指针异常

示例

 

Object o = new Object(); System.out.println(o.toString());

 

输出

3.String.valueOf()

介绍

这个方法是静态的,直接通过String调用,可以说是完美。在内部就是做了为空的判断的,所以就不会报出空指针异常。

内部的实现机制

 

 

public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); }

 

 

示例

 

Object o1 = new Integer(1); Object o2 = null; System.out.println(String.valueOf(o1)); System.out.println(String.valueOf(o2));

 

 

输出

总结:

  这三者的使用,强烈建议使用String.valueOf()的方式。这样的使用安全可靠,不会带来异常。

最新回复(0)