toString、String.valueOf、Objects.toString,(String) 对象转为String的四种方法比较

 

在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”字符串。


3)强转

    使用这种方法时,需要注意的是类型必须能转成String类型。因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出ClassCastException异常。此外,需特别小心的是因定义为Object 类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。null可以强制转换为任何java类类型,(String)null也是合法的。


4)String.valueOf()

    String类提供的将基本类型值转为String对象的静态方法,返回删除头尾空白符的字符串。String.valueOf(Object obj)当这里的obj是null,将返回“null”字符串。

发布了48 篇原创文章 · 获赞 35 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/kqZhu/article/details/104044823