// streams/Optionals.java// (c)2017 MindView LLC: see Copyright.txt// We make no guarantees that this code is fit for any purpose.// Visit http://OnJava8.com for more book information.import java.util.*;import java.util.stream.*;import java.util.function.*;public class Optionals {static void basics(Optional<String> optString) {if(optString.isPresent())System.out.println(optString.get());elseSystem.out.println("Nothing inside!");}static void ifPresent(Optional<String> optString) {optString.ifPresent(System.out::println);}static void orElse(Optional<String> optString) {System.out.println(optString.orElse("Nada"));}static void orElseGet(Optional<String> optString) {System.out.println(optString.orElseGet(() -> "Generated"));}static void orElseThrow(Optional<String> optString) {try {System.out.println(optString.orElseThrow(() -> new Exception("Supplied")));} catch(Exception e) {System.out.println("Caught " + e);}}static void test(String testName,Consumer<Optional<String>> cos) {System.out.println(" === " + testName + " === ");cos.accept(Stream.of("Epithets").findFirst());cos.accept(Stream.<String>empty().findFirst());}public static void main(String[] args) {test("basics", Optionals::basics);test("ifPresent", Optionals::ifPresent);test("orElse", Optionals::orElse);test("orElseGet", Optionals::orElseGet);test("orElseThrow", Optionals::orElseThrow);}}/* Output:=== basics ===EpithetsNothing inside!=== ifPresent ===Epithets=== orElse ===EpithetsNada=== orElseGet ===EpithetsGenerated=== orElseThrow ===EpithetsCaught java.lang.Exception: Supplied*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。