de.svws_nrw.asd.adt.Pair Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of svws-asd Show documentation
Show all versions of svws-asd Show documentation
Diese Bibliothek stellt grundlegende Datenypen und Algorithmen für die Prüfung der amtlichen Schuldaten in NRW bereit
package de.svws_nrw.asd.adt;
import jakarta.validation.constraints.NotNull;
/**
* Diese Klasse definiert ein einfaches Paar von Werten der
* spezifizierten Typen. Der zweite Wert kann auch null werden.
*
* @param Der erste Typ bei dem Paar.
* @param Der zweite Typ bei dem Paar.
*/
public final class Pair {
/** Der erster Wert des Paares */
public @NotNull A a;
/** Der zweite Wert des Paares */
public B b;
/**
* Erstellt ein neues Paar.
*
* @param a der erste Wert des Paares
* @param b der zweite Wert des Paares
*/
public Pair(final @NotNull A a, final B b) {
this.a = a;
this.b = b;
}
@Override
public @NotNull String toString() {
return "[" + a + ", " + b + "]";
}
@Override
public boolean equals(final Object o) {
if (o == null)
return false;
if (!(o instanceof Pair, ?>))
return false;
final Pair, ?> e = (Pair, ?>) o;
final boolean a_equals = a.equals(e.a);
final boolean b_equals = (b == null) ? (e.b == null) : b.equals(e.b);
return a_equals && b_equals;
}
@Override
public int hashCode() {
return a.hashCode() ^ ((b == null) ? 0 : b.hashCode());
}
}