JAVA 基础 之 String 的转换

2021-02-04  本文已影响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();
}
上一篇下一篇

猜你喜欢

热点阅读