美文网首页
JAVA 基础 之 String 的转换

JAVA 基础 之 String 的转换

作者: 蓉漂里的小白 | 来源:发表于2021-02-04 15:27 被阅读0次

    在实际开发和应用中,常常需要用到将对象转为String这一基本功能。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。

    1:Object.toString()方法

    这个方法是Object类自带的public方法,Java中所有定义的class类都默认继续Object,也就拥有toString()方法,如果不重写toString(), 那就调用Object的toString(), 通常有自定义的输出格式,都会重写该方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。

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

    2:采用类型转换(String)object方法

    这是标准的类型转换,将object转成String类型的值。使用这种方法时,需要注意的是被转的类型必须能转成String类型。因此最好用instanceof做个类型检查,判断是否可以转换。否则容易抛出CalssCastException异常

    Object intObj = new Integer(1);
    Object charObj = new char[]{'a','b', 'c'};
    Object byteObj =  Byte.valueOf("123");
    Object stringObj = "你好";
    if (intObj instanceof String) {
        String s = (String) intObj;
        System.out.println(s);
    }
    if (charObj instanceof String) {
        String s = (String) intObj;
        System.out.println(s);
    }
    if (byteObj instanceof String) {
        String s = (String) intObj;
        System.out.println(s);
    }
    if (stringObj instanceof String) {
        String s = (String) stringObj;
        System.out.println(s);
    }
    

    3:采用String.valueOf(Object)

    String.valueOf(Object)的基础是Object.toString()。但它与Object.toString()又有所不同。使用Object.toString()时候必须保证object 不为null,但使用String.valueOf(object)时,将不用担心object是否为null值这一问题。因为String.valueOf(),内部做了判断,如果入参为null, 则返回”null”, 如果不为null, 则返回object.toString(),

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

    相关文章

      网友评论

          本文标题:JAVA 基础 之 String 的转换

          本文链接:https://www.haomeiwen.com/subject/ajdptltx.html