在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。常用的方法有 对象.toString(),Objects.toString(),强转,String.valueOf(Object)等。
1)对象.toString()
因为所有java对象都继承至Object,java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。但是,通常派生类会重写Object里的toString() 方法。调用该方法,需保证对象不是null值,否则将抛出NullPointerException异常。如果贸然地调用改变量的toString()方法,则可能引发NullPointerException。
2)Objects.toString()
这是Java 7新增的一个Objects类(Java为工具类的命名习惯是添加一个字母s),其中有静态方法toString(Object obj)。这里obj若为null,Objects.toString(obj)将会返回“null”字符串。
其方法说明如下,可以看出实际调用的是 String.valueOf() 方法。
/**
* Returns the result of calling {@code toString} for a non-{@code
* null} argument and {@code "null"}