tostring、(string)和 String.valueOf()
上周遇到一個問題,只怪自己平時沒注意這個細節(jié),從數(shù)據(jù)庫取數(shù)據(jù)在map集合里,取出該值是我用了.tostring的方法,一次在當取出數(shù)據(jù)為空時代碼報java.lang.NullPointerException空指針異常。而另外一個同時平時習慣行使用(string)強轉(zhuǎn)避免了該錯誤的發(fā)生,下來之后我就針對string的這幾種方法做一個新的認識,做到后事不忘前事之師。
.tostrinng():
一般的對象或者參數(shù)都是有toString()的方法的,只是要注意在一個參數(shù)定義為int類型是就沒有這個方法了。還有就是當參數(shù)為空的時候.toString()方法就會報出空指針異常,這是這個方法的不好的地方使用時需要仔細斟酌一下。例如:
(string):強轉(zhuǎn)形式,簡單方便,效率高。不好的就是,他只能是強轉(zhuǎn)原本就是字符串的東西,如果原本不是字符串的話,那么就會報錯。
?
?
?String.valueOf():這個方法是靜態(tài)的,直接通過String調(diào)用,可以說是完美。他內(nèi)部的實現(xiàn)機制:
public static String valueOf(Object obj){return (obj==null) ? "null" : obj.toString();};在內(nèi)部就是做了為空的判斷的,所以就不會報出空指針異常。
這三者的使用,個人覺得應該使用String.valueOf()的方式。這樣的使用安全可靠。
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/ckxlovejava/p/6856527.html
總結
以上是生活随笔為你收集整理的tostring、(string)和 String.valueOf()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ简单介绍+Windows
- 下一篇: 二维码的原理