【学习笔记】String.valueOf(object obj)和object.toString()以及String(object)之间有什么异同?

valueOf会调用obj的toString方法,并直接返回其结果。   
由于Java中任何一个类都是继承自Object,而Object有toString方法,所以这个方法总是能被调用到。

public class StringConversion {

    /**
    * @param args
    */
    public static void main(String[] args) {

        Object a = null;
        
        System.out.println((String)a);
        System.out.println(String.valueOf(a));
        
        /**
        * Exception in thread "main" java.lang.NullPointerException
        *    at string.test.StringConversion.main(StringConversion.java:13)
        */
        //System.out.println(a.toString());
   
    }
}

前两种方法都输出null而后一种方法将会报错!使用Object.toString()时要格外注意null的情况,执行时会报错

所以推荐使用String.valueOf(Object)这种方法!
THE END
< <上一篇
下一篇>>