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);
}