diff --git a/core-java/src/main/java/com/baeldung/extension/Extension.java b/core-java/src/main/java/com/baeldung/extension/Extension.java index 4045af8b30..e30084f1cb 100644 --- a/core-java/src/main/java/com/baeldung/extension/Extension.java +++ b/core-java/src/main/java/com/baeldung/extension/Extension.java @@ -3,18 +3,18 @@ package com.baeldung.extension; import com.google.common.io.Files; import org.apache.commons.io.FilenameUtils; +import java.util.Optional; + public class Extension { //Instead of file name we can also specify full path of a file eg. /baeldung/com/demo/abc.java public String getExtensionByApacheCommonLib(String filename) { return FilenameUtils.getExtension(filename); } - public String getExtensionByStringHandling(String filename) { - String fileExtension = ""; - if (filename.contains(".") && filename.lastIndexOf(".") != 0) { - fileExtension = filename.substring(filename.lastIndexOf(".") + 1); - } - return fileExtension; + public Optional getExtensionByStringHandling(String filename) { + return Optional.ofNullable(filename) + .filter(f -> f.contains(".")) + .map(f -> f.substring(filename.lastIndexOf(".") + 1)); } public String getExtensionByGuava(String filename) { diff --git a/core-java/src/test/java/com/baeldung/extension/ExtensionUnitTest.java b/core-java/src/test/java/com/baeldung/extension/ExtensionUnitTest.java index 8c6e261c91..14e05d6b95 100644 --- a/core-java/src/test/java/com/baeldung/extension/ExtensionUnitTest.java +++ b/core-java/src/test/java/com/baeldung/extension/ExtensionUnitTest.java @@ -3,6 +3,8 @@ package com.baeldung.extension; import org.junit.Assert; import org.junit.Test; +import java.util.Optional; + public class ExtensionUnitTest { private Extension extension = new Extension(); @@ -16,8 +18,9 @@ public class ExtensionUnitTest { @Test public void getExtension_whenStringHandle_thenExtensionIsTrue() { String expectedExtension = "java"; - String actualExtension = extension.getExtensionByStringHandling("Demo.java"); - Assert.assertEquals(expectedExtension, actualExtension); + Optional actualExtension = extension.getExtensionByStringHandling("Demo.java"); + Assert.assertTrue(actualExtension.isPresent()); + actualExtension.ifPresent(ext -> Assert.assertEquals(expectedExtension,ext)); } @Test