Vor Java 8 müssen wir normalerweise wie folgt vorgehen, um für Null
Werte schnell zu versagen.Java 8 Optional So definieren Sie eine Fehlermeldung von NullPointerException
Objects.requireNonNull(pointer, "Your Error Message");
Nach Java 8 Dokumentation wird Optional.of
NullPointerException
werfen, wenn übergebene Parameter null ist.
// Optional.of - throws NullPointerException if passed parameter is null
Optional<Integer> b = Optional.of(value2);
Gibt es eine Möglichkeit Fehlermeldung für NullPointerException
in Java 8 Optional
zu definieren?
@ 4castle Ja, habe den Punkt, danke. Aber immer noch ein wenig unbefriedigend, warum sie ".of" -Methode in die Optionale Klasse für NullPointerException setzen schnell scheitern. Zumindest würden sie optionale Parameter für Fehlermeldungen wie "Objects.requireNonNull" bereitstellen. –
Als ich "fail last" sagte, meinte ich, dass Sie belastete Fehler werfen sollten, bis Sie versuchen, den Wert vom 'Optional' am Ende wiederzubekommen. Sie haben auch die Möglichkeit, 'Optional.ofNullable' zu verwenden. – 4castle
Sie haben das nicht eingegeben, weil die Parameterüberprüfung nicht wirklich Aufgabe von 'Optional' ist - sie modelliert die" Optionalität "(um sie spezifisch von der" Null-Fähigkeit "zu unterscheiden). Wenn Sie einen Vertrag durchsetzen wollen, tun Sie dies, bevor Sie zu optional oder optional kommen, nur dann fehlschlagen, wenn Sie ihn auffordern, eine Instanz mit einer Null von seiner explizit nicht nullbaren Methode zu erstellen. – pvg