java:ToStringBuilder.reflectionToString重写toString
生活随笔
收集整理的這篇文章主要介紹了
java:ToStringBuilder.reflectionToString重写toString
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java:ToStringBuilder.reflectionToString重寫toString
1 介紹
String是只讀字符串,也就意味著String引用的字符串內容是不能被改變的,并且String的"+"操作在底層都會New對象所以在大量操作時就會占用大量內存。StringBuffer/StringBuilder類表示的字符串對象的相關實現是通過在底層的二進制流直接操作所以可以直接進行修改。StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,區別在于它是在單線程環境下使用的,因為它的所有方面都沒有被synchronized修飾,因此它的效率也比StringBuffer要高。
2 ToStringBuilder.reflectionToString重寫toString:
在maven項目中,配置pom.xml依賴如下:
<dependencies><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.8.1</version></dependency> </dependencies>使用如下:
package com.xiaoxu;import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle;public class StrBuild {private int age;private String name;public StrBuild(int age,String name){this.age=age;this.name=name;}public static void main(String[] args) {StrBuild s=new StrBuild(18,"xiaoxu");System.out.println(s+"----------"+s.getClass());}@Overridepublic String toString(){return ToStringBuilder.reflectionToString(this,ToStringStyle.SHORT_PREFIX_STYLE);} }結果:
StrBuild[age=18,name=xiaoxu]----------class com.xiaoxu.StrBuild如果是無參構造方法,則ToStringBuilder.reflectionToString(this,ToStringStyle.SHORT_PREFIX_STYLE)如下所示:
StrBuild[]總結
以上是生活随笔為你收集整理的java:ToStringBuilder.reflectionToString重写toString的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java判断合数或素数
- 下一篇: oracle同音模糊查询