diff --git a/core/src/main/java/org/apache/ftpserver/command/impl/DefaultCommandFactory.java b/core/src/main/java/org/apache/ftpserver/command/impl/DefaultCommandFactory.java
index b387e48..53cd01e 100644
--- a/core/src/main/java/org/apache/ftpserver/command/impl/DefaultCommandFactory.java
+++ b/core/src/main/java/org/apache/ftpserver/command/impl/DefaultCommandFactory.java
@@ -55,7 +55,7 @@
      * Get command. Returns null if not found.
      */
     public Command getCommand(final String cmdName) {
-        if (cmdName == null || cmdName.equals("")) {
+        if (cmdName == null || cmdName.isEmpty()) {
             return null;
         }
         String upperCaseCmdName = cmdName.toUpperCase();
diff --git a/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpRequest.java b/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpRequest.java
index 6f8f919..93777cc 100644
--- a/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpRequest.java
+++ b/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpRequest.java
@@ -77,7 +77,7 @@
         String arg = null;
         if (spInd != -1) {
             arg = line.substring(spInd + 1);
-            if (arg.equals("")) {
+            if (arg.isEmpty()) {
                 arg = null;
             }
         }
diff --git a/core/src/main/java/org/apache/ftpserver/util/FileRegularFilter.java b/core/src/main/java/org/apache/ftpserver/util/FileRegularFilter.java
index 3a572d2..9fefdb4 100644
--- a/core/src/main/java/org/apache/ftpserver/util/FileRegularFilter.java
+++ b/core/src/main/java/org/apache/ftpserver/util/FileRegularFilter.java
@@ -40,7 +40,7 @@
      *            regular expression
      */
     public FileRegularFilter(String pattern) {
-        if ((pattern == null) || pattern.equals("") || pattern.equals("*")) {
+        if ((pattern == null) || pattern.isEmpty() || pattern.equals("*")) {
             regularExpr = null;
         } else {
             regularExpr = new RegularExpr(pattern);
