类型转换

Object x=null;
String q= x.toString();

报错:Exception in thread "main" java.lang.NullPointerException

String toString() {
    getClass().getName() + + Integer.(hashCode());
}

原因:getClass().getName()中Object x没有引用,所以报空指针。

然而:

 Object x=;
String p= String.(x);
 System..println(p);

这里并没有报错,现在我们看一下源码String.valueOf(x)。

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

这里对于没有引用对象的时候,返回null。所以没有报错。

最后我们来看一下Object a="this is a day"调用String.valueof方法String.class toString()方法

public String toString() {
    return this;
}

如果 Object a=12调用Integer.class 中的toString()

public String toString() {
    return toString(value);
}


你可能感兴趣的:(类型转换)