2008-11-11 2 views

Antwort

11

Werfen Sie einen Blick auf Commons4E

Es wurde eine Zeit lang nicht aktualisiert, aber dann denke ich nicht, dass es viel ändern muss?

Update: Nur gegen 3.4.1 überprüft und es funktioniert gut.

+1

seit der letzten Aktualisierung des Plugins aus dem Jahr 2006 ist, wird es sicherlich unterstützt Apache Commons Lang 3. BTW Link könnte nützlicher sein: http://wiki.jiayun.org/Commons4E –

2

Sie können das mit Codevorlagen in Eclipse tun.

Hier ist eine solution, die ich mit Beispielen von HashCodeBuilder und EqualsBuilder gefunden habe.

Vorlage Equals:

public boolean equals(Object o) { 
     boolean result = false; 

     if (this == o) { 
      result = true; 
     } else if (o instanceof $CLASSNAME$) { 
      $CLASSNAME$ other = ($CLASSNAME$) o; 

      result = new org.apache.commons.lang.builder.EqualsBuilder() 
        .append($END$ 
        .isEquals(); 
     } 

     return result; 
    } 

Vorlage HashCodeBuilder:

public int hashCode() { 
     return new org.apache.commons.lang.builder.HashCodeBuilder() 
       .append($END$) 
       .toHashCode(); 
    } 
+0

Welche Code Vorlage ist das für Eclipse, oder wie mache ich eine neue? – daveb

+0

Bitte lesen Sie diesen Beitrag über Code-Vorlagen (bestehende und neue): http://eclipse.dzone.com/news/visual-guide-templates-eclipse –

+0

Ande, Ihr Recht über die bestehenden Primzahlen ... –

3

Ich benutze die Eclipse-Plugin namens "Common"

Nach der Installation finden Sie einen neuen Kontextmenüpunkt "Common" wenn Sie mit der rechten Maustaste in eine Java-Quelldatei klicken. Es kann equals-, hashcode-, toString- und compareTo-Methoden basierend auf den Apache-Commons-Bibliotheken generieren.

es zu installieren, verwenden Sie diese aus Eclipse Update: http://commonclipse.sourceforge.net

+0

Letztes Update-Datum dieses Plugins war 16. April 2005 :( –

-1

Eclipse-Java-Code-Templates für Eclipse 3.5.0, abgeleitet von Bruno Conde-Vorlagen:

@Override 
public boolean equals(Object obj) { 
    if (obj == null) { 
     return false; 
    } else if (obj == this) { 
     return true; 
    } else if (obj.getClass() != this.getClass()) { 
     return false; 
    } 

    ${enclosing_type} other = (${enclosing_type}) obj; 
    return new EqualsBuilder()// 
      .appendSuper(super.equals(other))// 
      .append(${cursor})// 
       .isEquals(); 
} 

und

@Override 
public int hashCode() { 
    return new HashCodeBuilder(${cursor})// 
      .append()// 
      .toHashCode(); 
} 
+0

Funktioniert nicht für mich –

1

Ich habe diese Vorlage gemacht, die mehrere Antworten, Websites überprüft und es auf Eclipse Luna testet. Gehe zu Windows-> Einstellungen und dann zu Java-> Editor-> Vorlagen und füge es dort hinzu.

${:import(org.apache.commons.lang3.builder.HashCodeBuilder, org.apache.commons.lang3.builder.EqualsBuilder)} 
@Override 
public int hashCode() { 
    HashCodeBuilder hashCodeBuilder = new HashCodeBuilder(); 
    hashCodeBuilder.append(${field1:field}); 
    hashCodeBuilder.append(${field2:field}); 
    hashCodeBuilder.append(${field3:field}); 
    hashCodeBuilder.append(${field4:field}); 
    hashCodeBuilder.append(${field5:field}); 
    return hashCodeBuilder.toHashCode(); 
} 

@Override 
public boolean equals(Object obj) { 
    if (this == obj) { 
     return true; 
    } 
    if (obj == null) { 
     return false; 
    } 
    if (getClass() != obj.getClass()) { 
     return false; 
    } 
    ${enclosing_type} rhs = (${enclosing_type}) obj; 
    EqualsBuilder equalsBuilder = new EqualsBuilder(); 
    equalsBuilder.append(${field1}, rhs.${field1}); 
    equalsBuilder.append(${field2}, rhs.${field2}); 
    equalsBuilder.append(${field3}, rhs.${field3}); 
    equalsBuilder.append(${field4}, rhs.${field4}); 
    equalsBuilder.append(${field5}, rhs.${field5});${cursor} 
    return equalsBuilder.isEquals(); 
}