首页 > 编程知识 正文

string.copyvalueof,string中valueof

时间:2023-05-04 22:40:30 阅读:247234 作者:1263

1.copyValueOf与valueOf相同点:

         这两者是静态方法,且都能将字符数组或者字符数组的一部分转换为字符串。

2.copyValueOf与valueOf不同点:

         valueOf能将基本数据类型和Object类型转换成字符串,而copyValueOf则不能。

3.valueOf与toString的区别

       valueOf方法中还有个重载的方法static String valueOf(Object obj),从表面上来看都是把一个对象转换成字符串形式,和Object类中的toString方法好像没什么区别。但是:

        话不多说,直接上String类的valueOf方法的源码:

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

       通过这一小段源码发现,valueOf方法中用到了Object类中的toString方法,也就是说valueOf方法依赖于toString方法。但是当valueOf方法的传入的实际参数指向为空时,返回的是字符串“null”。注意。这里的实际参数可以指向空,而不能直接传入null,否则报空指针异常。

     当用Object类中的toString方法把对象转成字符串时,假设一个Person类的引用p, p=null, p.toString()就会报空指针异常,而用Strin类中的valueOf(p)就不会报错,运行结果是字符串null。

因此,用valueOf方法将对象转成字符串不用担心实际参数指向是否为空,即使为null,也会转成“null”字符串,而toString方法若实际参数指向为空,则报空指针异常。所以实际开发中具体用哪种方法视实际情况而定。

 

 

 

win7电脑文件夹如何加密

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。