toString 和String.valueOf()的区别
时间: 2024-03-11 20:43:56 浏览: 72
Java中区别.toString() ,(String),valueOf()方法
5星 · 资源好评率100%
toString()和String.valueOf()都可以将一个对象转换成字符串,但是它们的实现方式有所不同:
1. toString()方法
toString()方法是Object类中的方法,所有的Java类都继承了Object类,因此所有的Java对象都有toString()方法。默认情况下,toString()方法返回一个对象的地址,但是我们可以通过在自定义类中重写toString()方法来返回我们想要的字符串形式。
2. String.valueOf()方法
String.valueOf()方法是一个静态方法,它可以将任何类型的数据转换成字符串。如果参数是一个对象,它会自动调用该对象的toString()方法来获取字符串。如果参数是null,则返回字符串"null"。
因此,toString()方法和String.valueOf()方法的区别在于:
- toString()方法是对象方法,只能用于对象,而String.valueOf()方法是静态方法,可以用于任何类型的数据。
- toString()方法可以重写,自定义返回字符串的形式,而String.valueOf()方法只能使用默认的转换方式。
- 如果参数是null,String.valueOf()方法会返回"null"字符串,而toString()方法会抛出NullPointerException异常。
阅读全文