All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.svws_nrw.asd.adt.Pair Maven / Gradle / Ivy

Go to download

Diese Bibliothek stellt grundlegende Datenypen und Algorithmen für die Prüfung der amtlichen Schuldaten in NRW bereit

There is a newer version: 1.0.0
Show newest version
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());
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy