Java Language
अपाचे कॉमन्स लैंग
खोज…
समान () पद्धति को लागू करें
किसी ऑब्जेक्ट की equals
पद्धति को आसानी से लागू करने के लिए आप EqualsBuilder
वर्ग का उपयोग कर सकते हैं।
खेतों का चयन:
@Override
public boolean equals(Object obj) {
if(!(obj instanceof MyClass)) {
return false;
}
MyClass theOther = (MyClass) obj;
EqualsBuilder builder = new EqualsBuilder();
builder.append(field1, theOther.field1);
builder.append(field2, theOther.field2);
builder.append(field3, theOther.field3);
return builder.isEquals();
}
प्रतिबिंब का उपयोग करना:
@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj, false);
}
बूलियन पैरामीटर इंगित करता है कि क्या बराबर क्षणिक क्षेत्रों की जांच करनी चाहिए।
कुछ क्षेत्रों से बचने के प्रतिबिंब का उपयोग करना:
@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj, "field1", "field2");
}
हैशकोड () पद्धति को लागू करें
लागू करने के लिए hashCode
एक वस्तु की विधि आसानी से आप इस्तेमाल कर सकते हैं HashCodeBuilder
वर्ग।
खेतों का चयन:
@Override
public int hashCode() {
HashCodeBuilder builder = new HashCodeBuilder();
builder.append(field1);
builder.append(field2);
builder.append(field3);
return builder.hashCode();
}
प्रतिबिंब का उपयोग करना:
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this, false);
}
बूलियन पैरामीटर इंगित करता है कि क्या यह क्षणिक क्षेत्रों का उपयोग करना चाहिए।
कुछ क्षेत्रों से बचने के प्रतिबिंब का उपयोग करना:
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this, "field1", "field2");
}
लागू करना toString () विधि
किसी ऑब्जेक्ट की toString
विधि को आसानी से लागू करने के लिए आप ToStringBuilder
वर्ग का उपयोग कर सकते हैं।
खेतों का चयन:
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
builder.append(field1);
builder.append(field2);
builder.append(field3);
return builder.toString();
}
उदाहरण परिणाम:
ar.com.jonat.lang.MyClass@dd7123[<null>,0,false]
स्पष्ट रूप से खेतों को नाम दे रहे हैं:
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
builder.append("field1",field1);
builder.append("field2",field2);
builder.append("field3",field3);
return builder.toString();
}
उदाहरण परिणाम:
ar.com.jonat.lang.MyClass@dd7404[field1=<null>,field2=0,field3=false]
आप शैली को पैरामीटर के माध्यम से बदल सकते हैं:
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this,
ToStringStyle.MULTI_LINE_STYLE);
builder.append("field1", field1);
builder.append("field2", field2);
builder.append("field3", field3);
return builder.toString();
}
उदाहरण परिणाम:
ar.com.bna.lang.MyClass@ebbf5c[
field1=<null>
field2=0
field3=false
]
कुछ शैलियों हैं, उदाहरण के लिए JSON, कोई Classname, लघु, आदि ...
प्रतिबिंब:
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
आप शैली का संकेत भी दे सकते हैं:
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}