diff --git a/core-java-11/pom.xml b/core-java-11/pom.xml
index a9776d8f3b..933acdbecc 100644
--- a/core-java-11/pom.xml
+++ b/core-java-11/pom.xml
@@ -14,6 +14,14 @@
1.0.0-SNAPSHOT
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+
@@ -31,6 +39,7 @@
11
11
+ 27.1-jre
diff --git a/core-java-11/src/test/java/com/baeldung/EmptyStringToEmptyOptionalUnitTest.java b/core-java-11/src/test/java/com/baeldung/EmptyStringToEmptyOptionalUnitTest.java
new file mode 100644
index 0000000000..cc429209d4
--- /dev/null
+++ b/core-java-11/src/test/java/com/baeldung/EmptyStringToEmptyOptionalUnitTest.java
@@ -0,0 +1,32 @@
+package com.baeldung;
+
+import com.google.common.base.Strings;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.Optional;
+import java.util.function.Predicate;
+
+public class EmptyStringToEmptyOptionalUnitTest {
+
+ @Test
+ public void givenEmptyString_whenFilteringOnOptional_thenEmptyOptionalIsReturned() {
+ String str = "";
+ Optional opt = Optional.ofNullable(str).filter(s -> !s.isEmpty());
+ Assert.assertFalse(opt.isPresent());
+ }
+
+ @Test
+ public void givenEmptyString_whenFilteringOnOptionalInJava11_thenEmptyOptionalIsReturned() {
+ String str = "";
+ Optional opt = Optional.ofNullable(str).filter(Predicate.not(String::isEmpty));
+ Assert.assertFalse(opt.isPresent());
+ }
+
+ @Test
+ public void givenEmptyString_whenPassingResultOfEmptyToNullToOfNullable_thenEmptyOptionalIsReturned() {
+ String str = "";
+ Optional opt = Optional.ofNullable(Strings.emptyToNull(str));
+ Assert.assertFalse(opt.isPresent());
+ }
+}