(二十三)Java工具类ToStringBuilder方法详解
生活随笔
收集整理的這篇文章主要介紹了
(二十三)Java工具类ToStringBuilder方法详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ToStringBuilder類的作用是協(xié)助Object.toString()方法實(shí)現(xiàn)字符串輸出;
這個(gè)類是一個(gè)良好和一致的對(duì)于toString()方法去輸出任何類或者對(duì)象,這個(gè)類旨在簡(jiǎn)化處理過程:
- 允許字段名
- 處理所有的類型
- 處理null類型
- 輸出數(shù)組和多維數(shù)組
- 允許為對(duì)象和集合控制詳細(xì)級(jí)別
- 處理類的層次結(jié)構(gòu)
1.使用此類編寫的代碼如下:
package common.lang;import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle;public class User {private int age;private String username;public User(int age, String username) {this.age = age;this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}@Overridepublic String toString() {return new ToStringBuilder(this, ToStringStyle.JSON_STYLE).append("age", age).append("username", username).toString();}} ToStringBuilder類協(xié)助PO類輸出toString()字符串,我們也可以通過ToStringStyle類指定我們想要輸出的字符串格式; 上面的toString方法將會(huì)輸出:{"age":12,"username":"yaomy"} 添加父類的toString方法,使用appendSuper(java.lang.String)方法; 將另外一個(gè)對(duì)象的toString添加到當(dāng)前使用 appendToString(java.lang.String)方法; 另外有一種方法可以利用反射來(lái)確定要處理的字段;因?yàn)檫@些字段通常是私有的,這樣的方法有reflectionToString, 使用 AccessibleObject.setAccessible去更改字段的可見性,這將在安全管理器下失敗,除非正確設(shè)置適當(dāng)?shù)臋?quán)限, 這樣在測(cè)試管理器下面會(huì)更慢;這種方法的典型調(diào)用如下:
public String toString() {return ToStringBuilder.reflectionToString(this);}還可以使用生成器調(diào)用第三方對(duì)象:
System.out.println("An object: " + ToStringBuilder.reflectionToString(anObject));確切的日期格式是根據(jù)構(gòu)造函數(shù)中傳入的ToStringStyle樣式;
總結(jié)
以上是生活随笔為你收集整理的(二十三)Java工具类ToStringBuilder方法详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [css] 举例说明跟字体相关的属性有
- 下一篇: [css] css的哪个属性可以把所有