import org.apache.commons.lang3.*; public class Test { private String name; private int size; public Test(String name,int size) { Validate.notBlank(name,"name degeri bos"); Validate.isTrue(size>0,"size 0 dan buyuk olmalı"); 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; } public static void main(String[] args) { Test t=new Test("", 123); } }
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]
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
Java'da bir class'ta equals ve hashCode methodlarını override (üzerine yazma) için Apache Commons Lang paketindeki ToStringBuilder ve HashCodeBuilder class'larını kullanabilirsiniz