String.valueOf(object obj)和object.toString()以及String(object)之间...

发布网友

我来回答

1个回答

热心网友

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)这种方法!

参考资料:http://www.qgtong.com

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com