Aşağıdaki class'ta Apache Commons Lang kütüphanesindeki ToStringBuilder class'ının kullanım örneği görülmektedir :
import org.apache.commons.lang3.builder.*;
public class Test {
private String name;
private int size;
public Test(String name,int size) {
setName(name);
setSize(size);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
public static void main(String[] args) {
Test t=new Test("Ad1", 123);
System.out.println(t);
}
}
Yukarıdaki Test class'ının toString'i override edilmiş ve ToStringBuilder kullanılmıştır. Aynı class'ın için bir main koyarak test yapılmıştır. Uygulama çalıştırıldığında aşağıdaki gibi bir çıktı verecektir :
Test@390ede48[name=Ad1,size=123]
ToStringBuilder class'ın property'lerini bulmakta ve property adı=değer şeklinde output string'i üretmektedir.
Aşağıdaki class'ta Apache Commons Lang kütüphanesindeki HashCodeBuilder class'ının kullanım örneği görülmektedir :
import org.apache.commons.lang3.builder.*;
public class Test {
private String name;
private int size;
public Test(String name,int size) {
setName(name);
setSize(size);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
public static void main(String[] args) {
Test t=new Test("ali", 112);
Test t2=new Test("veli", 112);
System.out.println("t hash code:"+t.hashCode());
System.out.println("t2 hash code:"+t2.hashCode());
}
}
Class'ta hem hashCode override edilmiş ve apache HashCodeBuilder class'ı kullanılmıştır. Ekrana üretilen hashcode'lar bastırılmıştır. Uygulama çalıştırıldığında aşağıdak gibi bir çıktı vermektedir :
t hash code:3600175
t2 hash code:133809909