场景
- 使用ReflectionToStringBuilder完成toString
- 例如密码的字段不参与toString
代码示例
package com.frank.string;
import java.lang.reflect.Field;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
public class ExcludeField {
private String userId;
private String userName;
private String passWord;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String toString()
{
//MULTI_LINE_STYLE 每一行一个字段
//SHORT_PREFIX_STYLE 不换行,用逗号分隔
ReflectionToStringBuilder builder = new ReflectionToStringBuilder(
this, ToStringStyle.SHORT_PREFIX_STYLE) {
@Override
protected boolean accept(Field field) {
return !field.getName().equals("passWord");
}
};
return builder.toString();
}
public static void main(String[] args)
{
ExcludeField excludeField = new ExcludeField();
excludeField.setUserId("00277499");
excludeField.setUserName("Frank");
excludeField.setPassWord("芝麻开门!");
System.out.println(excludeField);
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。