← Back to list

Ich lerne Java Vavr -3 (Either)

Hallo zusammen, heute möchte ich Ihnen das Konzept von Either in der Java-Bibliothek Vavr vorstellen und mit einem Beispiel erklären.

Uğur Öz · 2024-05-24 09:42 · 0 claps · 1.1 min read
#java #vavr #javaslang #either #functional-programming
Open on Medium ↗
Wiki topics: 💻 · Programming 📟 · Gadgets & IoT 🎮 · Gaming

Ich lerne Java Vavr -3 (Either)

Hallo zusammen, heute möchte ich Ihnen das Konzept von Either in der Java-Bibliothek Vavr vorstellen und mit einem Beispiel erklären.

Wie wir wissen, können Funktionen oder Methoden verschiedene Parameter annehmen und verschiedene Werte zurückgeben.

Zum Beispiel nimmt die Funktion summieren, die die Parameter zahl1 und zahl2 erhält, als Ergebnis die Summe der beiden Werte zurück und gibt einen Wert vom Typ int zurück.

public int summieren(int zahl1, int zahl2) {
    int summe = zahl1 + zahl2;
    return summe;
}

Methoden, die Either verwenden, funktionieren etwas anders. Bei Either-Funktionen kann die Funktion zwei verschiedene Werte oder Parameter zurückgeben. Dies wird zu Beginn der Funktion festgelegt, und am Ende gibt die Funktion einen dieser Werte zurück. Es kann als “rechts” oder “links” unterschieden werden.

import io.vavr.control.Either;

public class EitherBeispiel {


/*
    Hier haben wir die Funktion parseInteger mit Either definiert.
    Diese Funktion wird entweder einen String oder einen Integer zurückgeben,
    es ist nicht möglich, beide gleichzeitig zurückzugeben.
*/

  public static Either<String, Integer> parseInteger(String s) {
        try {
            return Either.right(Integer.parseInt(s));
        } catch (NumberFormatException e) {
            return Either.left("Ungültiges Zahlenformat: " + s);
        }
    }

/*
    Im folgenden Beispiel sind die Rückgabewerte der Methoden result1 
    und result2 angegeben.
    Die Methode parseInteger wird normalerweise verwendet, 
    um einen String-Wert in einen Integer zu konvertieren.
    Hier hat die Methode result1 den String "123" geparst und 
    in einen Integer 123 umgewandelt.

    Da der String "abc" in der Methode result2 jedoch keinen entsprechenden 
    Integer-Wert hat,
    hat er den Fehlercode, also den linken Wert, zurückgegeben.

*/

    public static void main(String[] args) {
        Either<String, Integer> result1 = parseInteger("123");
        Either<String, Integer> result2 = parseInteger("abc");

        System.out.println(result1); // Right(123)
        System.out.println(result2); // Left(Ungültiges Zahlenformat: abc)
    }
}

Ich hoffe, es war hilfreich, bitte bleiben Sie dran. :)


메타데이터
post_id
37279fcdb27e
slug
ich-lerne-java-vavr-3-either-37279fcdb27e
url
https://medium.com/@ugur-oz/ich-lerne-java-vavr-3-either-37279fcdb27e
canonical_url
https://medium.com/@ugur-oz/ich-lerne-java-vavr-3-either-37279fcdb27e
author_url
https://medium.com/@ugur-oz
status
ok
fetched_at
2026-07-23 19:04:23