浅色年华的gravatar头像
浅色年华 2017-07-11 16:07:56
java String字符串类型转换的三种方法

在很多情况下我们都需要将一个对象转换为String类型。一般来说有三种方法可以实现:Object.toString()(String)ObjectString.valueOf(Object)。下面对这三种方法一一分析

.Object.toString()

toString方法是java.lang.Object对象的一个public方法。在java中任何对象都会继承Object对象,所以一般来说任何对象都可以调用toString这个方法。这是采用该种方法时,常派生类会覆盖Object里的toString()方法。

object的toString()方法如下

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

如果一个类没用重写toString方法,返回的结果就是这种格式

[B@70ee90b1

但是在使用该方法时要注意,必须保证Object不是null值,否则将抛出NullPointerException异常。

二.(String)Object

该方法是一个标准的类型转换的方法,可以将Object转换为String。但是在使用该方法是要注意的是需要转换的类型必须是能够转换为String的,否则会出现CalssCastException异常错误

三.String.valueOf(Object)

使用该方法无需担心null值问题。因为在使用String.valueOf(Object)时,它会判断Object是否为空值,如果是,则返回null。下面为String.valueOf(Object)的源码

    /**
     * Returns the string representation of the <code>Object</code> argument.
     *
     * @param   obj   an <code>Object</code>.
     * @return  if the argument is <code>null</code>, then a string equal to
     *          <code>"null"</code>; otherwise, the value of
     *          <code>obj.toString()</code> is returned.
     * @see     java.lang.Object#toString()
     */
    public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

从上面我们可以看出两点:一是不需要担心null问题。二是它是以传入对象的toString()方法为基础的。

注意:如果obj是null的话,返回结果是“null”字符串,不是null值!!!


打赏
最近浏览
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友