Jakarta Commnos lang学习 - ToStringBuilder类常用方法介绍
来源:互联网 发布:知学学院院长于鲁 编辑:程序博客网 时间:2024/05/17 06:06
http://javacrazylilin.iteye.com/blog/1142933
1、append
ToStringBuilder类主要用于类的格式化输出。ToStringBuilder中append方法可以向该类添加基本类型、数组、和对象只有添加的方法才会被toString输出
import java.math.BigDecimal;
- import java.util.HashSet;
- import java.util.Set;
- import java.math.BigDecimal;
- import org.apache.commons.lang.builder.CompareToBuilder;
- import org.apache.commons.lang.builder.EqualsBuilder;
- import org.apache.commons.lang.builder.HashCodeBuilder;
- import org.apache.commons.lang.builder.ToStringBuilder;
- class TaxReturn {
- private String ssn;
- private int year;
- private String lastName;
- private BigDecimal taxableIncome;
- public TaxReturn() {
- }
- public TaxReturn(String pSsn, int pYear, String pLastName, BigDecimal pTaxableIncome) {
- setSsn(pSsn);
- setYear(pYear);
- setLastName(pLastName);
- setTaxableIncome(pTaxableIncome);
- }
- public String getSsn() {
- return ssn;
- }
- public void setSsn(String pSsn) {
- ssn = pSsn;
- }
- public int getYear() {
- return year;
- }
- public void setYear(int pYear) {
- year = pYear;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String pLastName) {
- lastName = pLastName;
- }
- public BigDecimal getTaxableIncome() {
- return taxableIncome;
- }
- public void setTaxableIncome(BigDecimal pTaxableIncome) {
- taxableIncome = pTaxableIncome;
- }
- public String toString() {
- return new ToStringBuilder(this).append("ssn", ssn).append("year", year).append("lastName",
- lastName).toString();
- }
- public int hashCode() {
- return new HashCodeBuilder(3, 7).append(ssn).append(year).toHashCode();
- }
- public boolean equals(Object pObject) {
- boolean equals = false;
- if (pObject instanceof TaxReturn) {
- TaxReturn bean = (TaxReturn) pObject;
- equals = (new EqualsBuilder().append(ssn, bean.ssn).append(year, bean.year)).isEquals();
- }
- return equals;
- }
- public int compareTo(Object pObject) {
- return CompareToBuilder.reflectionCompare(this, pObject);
- }
- }
- public class MainClass {
- public static void main(String[] pArgs) throws Exception {
- TaxReturn return1 = new TaxReturn("012-68-3242", 1998, "O'Brien", new BigDecimal(43000.00));
- TaxReturn return2 = new TaxReturn("012-68-3242", 1999, "O'Brien", new BigDecimal(45000.00));
- TaxReturn return3 = new TaxReturn("012-68-3242", 1999, "O'Brien", new BigDecimal(53222.00));
- System.out.println("ToStringBuilder: " + return1.toString());
- }
- }
运行结果如下:
ToStringBuilder: TaxReturn@1503a3[ssn=012-68-3242,year=1998,lastName=O'Brien]
2、reflectionToString
把类对应的基本属性和值输出来。
import org.apache.commons.lang.builder.EqualsBuilder;
- import org.apache.commons.lang.builder.HashCodeBuilder;
- import org.apache.commons.lang.builder.ToStringBuilder;
- import org.apache.commons.lang.builder.ToStringStyle;
- public class MainClass {
- public static void main(String[] args) {
- MyClass one = new MyClass("Becker", 35);
- MyClass two = new MyClass("Becker", 35);
- MyClass three = new MyClass("Agassi", 33);
- System.out.println("One>>>" + one);
- System.out.println("Two>>>" + two);
- System.out.println("Three>>>" + three);
- System.out.println("one equals two? " + one.equals(two));
- System.out.println("one equals three? " + one.equals(three));
- System.out.println("One HashCode>>> " + one.hashCode());
- System.out.println("Two HashCode>>> " + two.hashCode());
- System.out.println("Three HashCode>>> " + three.hashCode());
- }
- }
- class MyClass {
- private String name = null;
- private int age = 0;
- public MyClass(String name, int age) {
- this.name = name;
- this.age = age;
- }
- public boolean equals(Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
- }
- public String toString() {
- return ToStringBuilder.reflectionToString(this,
- ToStringStyle.MULTI_LINE_STYLE);
- }
- public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
- }
- }
运行结果如下:
- Jakarta Commnos lang学习 - ToStringBuilder类常用方法介绍
- Jakarta Commnos lang学习(2)——ToStringBuilder和ToStringStyle
- ToStringBuilder学习(一):常用方法介绍
- ToStringBuilder学习(一):常用方法介绍
- ToStringBuilder学习(一):常用方法介绍
- ToStringBuilder学习(一):常用方法介绍
- Jakarta Commnos lang学习(4)——与日期相关的类
- Jakarta Commnos lang学习(1)——ReflectionToStringBuilder
- Jakarta Commnos lang学习(3)——ArrayUtils
- Jakarta Commnos lang学习(5)——Validate
- Jakarta Commnos lang学习(7)——BeanUtils
- Jakarta Commnos lang学习(6)——字符串的处理
- Apache Jakarta Common Lang 介绍
- Apache Jakarta Common Lang 介绍
- Apache Jakarta Common Lang 介绍
- Apache Jakarta Common Lang 介绍
- ToStringBuilder介绍
- ToStringBuilder介绍
- Silverlight之ScrollViewer控件的水平和竖直滚动条位置控制
- 找适合的工作难啊
- C++ 虚函数表解析
- 学习asp.net4的一些结构图
- WebService大讲堂之Axis2(4):二进制文件传输
- Jakarta Commnos lang学习 - ToStringBuilder类常用方法介绍
- Pentaho BI Suite配置:在Windows环境下使用MySQL 5.x
- 控制离开当前方法之前必须对 out 参数“shuchu”赋值
- ARM处理器支持位置无关的程序设计
- 设计模式--Builder
- WebService大讲堂之Axis2(5):会话(Session)管理
- 10种好习惯造就办公室里的成功
- Node.js 究竟是什么?
- WebService大讲堂之Axis2(6):跨服务会话(Session)管理