[Java] 印出物件內容的好幫手 – ReflectionToStringBuilder (3) 客製化輸出格式 ToStringStyle 範例

ReflectionToStringBuilder 除了能排除特定屬性名稱,還能對印出內容的格式進行客製化,達到更靈活的效果。

例如:自訂日期格式長相、敏感欄位資料馬賽克等等。

要達到輸出客製化,需要實作 ToStringStyle 抽象類別。本篇將就自訂日期輸出格式長相以及敏感欄位資料馬賽克這兩個效果進行示範。

閱讀更多[Java] 印出物件內容的好幫手 – ReflectionToStringBuilder (3) 客製化輸出格式 ToStringStyle 範例

[Java] 印出物件內容的好幫手 – ReflectionToStringBuilder (2) 排除指定欄位 toStringExclude 範例

上一篇介紹了 ReflectionToStringBuilder 的基本用法,這篇進一步示範 ReflectionToStringBuilder 提供的另一個功能:排除指定名稱的欄位。

自訂類別裡可能有非常多成員變數,在印出自訂類別的內容來進行 log 儲存時,我們需要的也許只是其中較關鍵的幾項,印出所有變數不僅不具意義,甚至是浪費儲存空間。這時候就可以使用 ReflectionToStringBuilder 的 toStringExclude 功能,來排除不需要的欄位名稱。

閱讀更多[Java] 印出物件內容的好幫手 – ReflectionToStringBuilder (2) 排除指定欄位 toStringExclude 範例

[Java] 印出物件內容的好幫手 – ReflectionToStringBuilder (1) 基本用法介紹與範例

在開發程式時,時常需要印出物件屬性內容來進行 log 或 debug。最簡單的方法就是呼叫物件的原生 toString(),但當物件不是基本型態(Primitive Data Types),而是陣列或自訂類別,原生的 toString() 可能就不敷使用。去逐個類別覆寫(Override) toString() 函式又過於繁瑣且不切實際。

這篇文章將介紹一個方便的 API —— ReflectionToStringBuilder,該 API 利用映射技巧,協助我們便利地印出物件資訊。

閱讀更多[Java] 印出物件內容的好幫手 – ReflectionToStringBuilder (1) 基本用法介紹與範例