Oktatás * Programozás 2 * Szkriptnyelvek * levelezősök Félévek Linkek * kalendárium |
Java /
két saját objektum összehasonlításaVegyük az előző téglalapos példát. Legyen számunkra most két téglalap akkor egyenlő, ha azonos a területük. public class Proba2 { public static void main(String[] args) { Teglalap t1 = new Teglalap(4, 10); Teglalap t2 = new Teglalap(5, 8); Teglalap t3 = new Teglalap(4, 20); // Számunkra most 2 téglalap akkor egyenlő, // ha azonos a területük. System.out.println(t1.equals(t2)); // true System.out.println(t1.equals(t3)); // false } } class Teglalap { private int a; private int b; public Teglalap(int a, int b) { this.a = a; this.b = b; } public int kerulet() { return 2*a + 2*b; } public int terulet() { return a*b; } @Override public String toString() { return String.format("Teglalap(a=%d, b=%d)", this.a, this.b); } @Override public boolean equals(Object other) { return (other instanceof Teglalap) && (this.terulet() == ((Teglalap)other).terulet()); } } Ha az "Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes." (forrás) |
Blogjaim, hobbi projektjeim * The Ubuntu Incident [ edit ] |