import java.util.Optional; class Test { private void checkIsPresent(boolean b) { Optional test; if (b) { test = Optional.of("x"); } else { test = Optional.empty(); if(!test.isPresent()) { System.out.println("Always"); } } Optional other = test; if(test.isPresent() && other.isPresent()) { System.out.println(test.get()); } } void m(Optional maybe) { if (!!!maybe.isPresent()) { maybe = getIntegerOptional(); } else { System.out.println(maybe.get()); maybe = getIntegerOptional(); } if (maybe.isPresent()) { maybe = Optional.empty(); System.out.println(maybe.get()); } boolean b = ((maybe.isPresent())) && maybe.get() == 1; boolean c = (!maybe.isPresent()) || maybe.get() == 1; Integer value = !maybe.isPresent() ? 0 : maybe.get(); } Optional getIntegerOptional() { return Math.random() > 0.5 ? Optional.of(1) : Optional.empty(); } private static void a() { Optional optional = Optional.empty(); final boolean present = optional.isPresent(); // optional = Optional.empty(); if (present) { final String string = optional.get(); System.out.println(string); } } private static void b() { Optional optional = Optional.empty(); final boolean present = optional.isPresent(); optional = Optional.empty(); if (present) { final String string = optional.get(); System.out.println(string); } } public void testMultiVars(Optional opt) { boolean present = opt.isPresent(); boolean absent = !present; boolean otherAbsent = !!absent; if(otherAbsent) { System.out.println(opt.get()); } else { System.out.println(opt.get()); } } public static Optional getOptional() { return Optional.empty(); } private void checkAsserts1() { Optional o2 = getOptional(); org.junit.Assert.assertTrue(!o2.isPresent()); System.out.println(o2.get()); } private void checkAsserts2() { Optional o3 = Optional.empty(); org.testng.Assert.assertTrue(o3.isPresent()); System.out.println(o3.get()); } private void checkOf(boolean b) { System.out.println(Optional.of("xyz").get()); Optional test; if(b) { test = Optional.empty(); } else { test = Optional.empty(); } System.out.println(test.get()); } public static String demo() { Optional holder = Optional.empty(); if (! holder.isPresent()) { holder = Optional.of("hello world"); if (!holder.isPresent()) { return null; } } return holder.get(); } void order(Optional order, boolean b) { order.ifPresent(o -> System.out.println(order.get())); System.out.println(order.orElseGet(() -> order.get().trim())); } void guavaTest(com.google.common.base.Optional opt, String s, String s1) { System.out.println(opt.get()); if(opt.isPresent()) { System.out.println(opt.get()); } opt = com.google.common.base.Optional.fromNullable(s); if(opt.isPresent()) { System.out.println(opt.get()); } opt = com.google.common.base.Optional.of(s); opt = com.google.common.base.Optional.of(s1); if(opt.isPresent()) { System.out.println(opt.get()); } opt = com.google.common.base.Optional.absent(); if(opt.isPresent()) { System.out.println(opt.get()); } } void testThrow2(Optional test) { test.orElseThrow(RuntimeException::new); if (test.isPresent()) { System.out.println("Yes"); } } public void testThrowFail(Optional arg) { if(!arg.isPresent()) { System.out.println(arg.orElseThrow(IllegalAccessError::new)); } String res = Optional.empty().orElseThrow(RuntimeException::new); } }