Wie kann man Optional <> einer Methode korrekt zurückgeben?

Ich habe viel Java 8 Optional gelesen und verstehe das Konzept, habe aber dennoch Schwierigkeiten, es selbst in meinen Code zu implementieren.

bwohl ich das Web nach guten Beispielen durchsucht habe, habe ich keine mit einer guten Erklärung gefunde

Ich habe die nächste Methode:

public static String getFileMd5(String filePath) throws NoSuchAlgorithmException, IOException {
    AutomationLogger.getLog().info("Trying getting MD5 hash from file: " + filePath);
    MessageDigest md = MessageDigest.getInstance("MD5");
    InputStream inputStream;
    try {
        inputStream = Files.newInputStream(Paths.get(filePath));
    } catch (NoSuchFileException e) {
        AutomationLogger.getLog().error("No such file path: " + filePath, e);
        return null;
    }

    DigestInputStream dis = new DigestInputStream(inputStream, md);
    byte[] buffer = new byte[8 * 1024];

    while (dis.read(buffer) != -1);
    dis.close();
    inputStream.close();

    byte[] output = md.digest();
    BigInteger bi = new BigInteger(1, output);
    String hashText = bi.toString(16);
    return hashText;
}

Diese einfache Methode gibt das MD5 einer Datei zurück, indem sie den Dateipfad übergibt. Wie Sie feststellen können, ist ein @ nicht vorhanden (oder falsch eingegeben), wenn der Dateipfad nicht vorhanden is NoSuchFileException wird geworfen und die Methode gibt @ zurüNul.

Anstatt null zurückzugeben, möchte ich Optional verwenden, daher sollte meine Methode @ zurückgebeOptional <String>, richtig

Was ist der richtige Weg, um es richtig zu machen?Wenn der zurückgegebene String null ist - kann ich ihn hier verwendenorElse(), oder sollte diese Methode vom Client verwendet werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage