ToStringBuilder.reflectionToString用法
先上用例:
/*** 重寫(xiě)對(duì)象toString方法** @return String [field=value]...*/public String toString() {return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);}我們都知道String、StringBuffer、StringBuilder的區(qū)別(不明白的可以看下面)
Java平臺(tái)提供了兩種類(lèi)型的字符串:String和StringBuffer/StringBuilder,它們可以?xún)?chǔ)存和操作字符串。其中String是只讀字符串,也就意味著String引用的字符串內(nèi)容是不能被改變的,并且String的"+"操作在底層都會(huì)New對(duì)象所以在大量操作時(shí)就會(huì)占用大量?jī)?nèi)存。而StringBuffer/StringBuilder類(lèi)表示的字符串對(duì)象的相關(guān)實(shí)現(xiàn)是通過(guò)在底層的二進(jìn)制流直接操作所以可以直接進(jìn)行修改。StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,區(qū)別在于它是在單線(xiàn)程環(huán)境下使用的,因?yàn)樗乃蟹矫娑紱](méi)有被synchronized修飾,因此它的效率也比StringBuffer要高。
回歸正題:
這樣我們就可以理解為什么這里需要重寫(xiě)toString方法了,防止因系統(tǒng)內(nèi)存小的話(huà)引起的暴內(nèi)存,而上述代碼就做了讓toString完成了對(duì)象轉(zhuǎn)JSON的過(guò)程.
總結(jié)
以上是生活随笔為你收集整理的ToStringBuilder.reflectionToString用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [html] 说说video标签中预加
- 下一篇: 工作389-移动端控制