国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ToStringBuilder(二):兩種方法比較

2019-11-11 06:38:42
字體:
來源:轉載
供稿:網友

用反射方法的優點:

代碼簡潔,不需要有什么配置Model屬性有變化時不必再手動更改toString方法

缺點:

有些屬性并不想讓輸出來(可能沒用,也可能出于安全方面考慮),但是反射時所有的屬性值都給輸出來

安全方面的考慮. 一般來說,一個java類是的屬性都是PRivate的,這樣用反射來構建toString方法時,就得繞過private的限制. 于是 If your system is running under a restrictive SecurityManager , you may need to alter your configuration to allow Commons Lang to bypass these security restrictions.

彌補用反射方法不夠靈活的一個擴展. 由假設一個類里有名為passWord這樣的屬性,一般情況下,是不想讓toString輸入的, 但用反射默認情況下是會輸出的. 這怎么辦呢?看ReflectionToStringBuilder源碼里文檔時,發現這么一個擴展: 通過子類,覆蓋其accept方法來加以篩選.具體如下所示:

public String toString() { return (new ReflectionToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) {// 注意這里為了表達上的簡潔用了匿名內部類. protected boolean accept(Field f) { return super.accept(f) && !f.getName().equals("password"); } }).toString();}

這樣在toString時, 就會跳過名為password的屬性.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 齐河县| 渝中区| 顺昌县| 如东县| 东港市| 太和县| 茂名市| 聊城市| 岑巩县| 唐山市| 如皋市| 渑池县| 崇明县| 鹤山市| 苍南县| 青冈县| 新源县| 亚东县| 福建省| 英山县| 海宁市| 麦盖提县| 灵寿县| 寻乌县| 河源市| 乌鲁木齐县| 万荣县| 北安市| 古蔺县| 五台县| 比如县| 赤水市| 闵行区| 罗甸县| 郑州市| 许昌市| 麻栗坡县| 忻州市| 时尚| 介休市| 林口县|