String、toString、String.valueOf 三者对比
【摘要】 String、toString和String.valueOf在android开发中有着非常明显的区别,具体区别直接看代码:
Boolean boo = true;String str1 = (String)boo;//编译报错String str2 = boo.toString();//编译通过String str3 = String.valueOf(boo);//编译通过...
String、toString和String.valueOf在android开发中有着非常明显的区别,具体区别直接看代码:
-
Boolean boo = true;
-
String str1 = (String)boo;//编译报错
-
String str2 = boo.toString();//编译通过
-
String str3 = String.valueOf(boo);//编译通过
可以看出,String强转是行不通的。再看一个例子:
-
Object oo = null;
-
String str1 = (String)oo;//编译报错
-
String str2 = oo.toString();//编译通过,运行时报错
-
String str3 = String.valueOf(oo);//运行正常
第三行运行时报错:
15:44:40.938 18241 18241 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sample/com.sample.Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference,所以,toString也存在缺点。
综上所述,推荐使用String.valueOf进行类型转换。
文章来源: liuzhen.blog.csdn.net,作者:Data-Mining,版权归原作者所有,如需转载,请联系作者。
原文链接:liuzhen.blog.csdn.net/article/details/83788323
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)