Как проверить, является ли строка пустой на Java

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, является ли строка пустой на Java. Мы рассмотрим три ключевые техники: использование метода length() для проверки длины строки, применение специального метода isEmpty() для прямого тестирования и, что особенно важно, обработку потенциально нулевых строк перед проверкой на пустоту, чтобы избежать ошибок. По завершении этого практического занятия вы будете хорошо понимать, как эффективно определять пустоту строк в своих Java - программах.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/StringManipulationGroup -.-> java/strings("Strings") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/strings -.-> lab-559927{{"Как проверить, является ли строка пустой на Java"}} java/string_methods -.-> lab-559927{{"Как проверить, является ли строка пустой на Java"}} end

Проверка длины строки с использованием метода length()

На этом этапе мы рассмотрим, как определить длину строки на Java с помощью встроенного метода length(). Понимание длины строки является фундаментальным понятием при работе с текстовыми данными на любом языке программирования.

В Java String представляет собой последовательность символов. Метод length() - простой способ узнать, сколько символов содержится в строке. Это похоже на то, как вы считаете буквы в слове или слова в предложении.

Создадим простую Java - программу, чтобы продемонстрировать это.

  1. Откройте файл HelloJava.java в редакторе WebIDE, если он еще не открыт.

  2. Замените все содержимое файла следующим кодом:

    public class HelloJava {
        public static void main(String[] args) {
            String greeting = "Hello, Java!";
            int length = greeting.length();
            System.out.println("The string is: " + greeting);
            System.out.println("The length of the string is: " + length);
        }
    }

    Рассмотрим новые части этого кода:

    • String greeting = "Hello, Java!";: Эта строка объявляет переменную с именем greeting и присваивает ей строковое значение "Hello, Java!".
    • int length = greeting.length();: Именно здесь мы используем метод length(). Мы вызываем length() для строки greeting, и он возвращает количество символов в этой строке. Затем это число сохраняется в целочисленной переменной с именем length.
    • System.out.println("The string is: " + greeting);: Эта строка выводит исходную строку в консоль.
    • System.out.println("The length of the string is: " + length);: Эта строка выводит вычисленную длину строки.
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Теперь скомпилируем нашу программу. Откройте терминал внизу WebIDE и убедитесь, что вы находитесь в каталоге ~/project. Затем выполните следующую команду:

    javac HelloJava.java

    Если компиляция прошла успешно, вы не увидите никакого вывода.

  5. Наконец, запустим скомпилированную программу:

    java HelloJava

    Вы должны увидеть вывод, похожий на следующий:

    The string is: Hello, Java!
    The length of the string is: 12

    Вывод показывает исходную строку и ее длину, которая равна 12 (включая запятую, пробел и восклицательный знак).

Вы успешно использовали метод length() для определения длины строки на Java! Это простая, но важная операция при работе с текстовыми данными.

Проверка строки на пустоту с использованием метода isEmpty()

На этом этапе мы научимся проверять, является ли строка пустой на Java с помощью метода isEmpty(). Пустая строка - это строка, которая не содержит ни одного символа. Она отличается от строки, содержащей пробелы или другие символы.

Метод isEmpty() - удобный способ проверить, имеет ли строка длину, равную нулю. Он возвращает true, если строка пуста, и false в противном случае.

Модифицируем нашу программу HelloJava.java, чтобы продемонстрировать метод isEmpty().

  1. Откройте файл HelloJava.java в редакторе WebIDE.

  2. Замените существующий код следующим:

    public class HelloJava {
        public static void main(String[] args) {
            String str1 = "Hello";
            String str2 = ""; // This is an empty string
            String str3 = " "; // This string contains a space
    
            System.out.println("String 1: \"" + str1 + "\"");
            System.out.println("Is String 1 empty? " + str1.isEmpty());
    
            System.out.println("\nString 2: \"" + str2 + "\"");
            System.out.println("Is String 2 empty? " + str2.isEmpty());
    
            System.out.println("\nString 3: \"" + str3 + "\"");
            System.out.println("Is String 3 empty? " + str3.isEmpty());
        }
    }

    В этом коде:

    • Мы объявляем три строки: str1 с содержимым, str2, которая пуста, и str3, которая содержит пробел.
    • Мы используем str1.isEmpty(), str2.isEmpty() и str3.isEmpty() для проверки, является ли каждая строка пустой.
    • Операторы System.out.println() будут выводить строку и результат проверки методом isEmpty() (true или false).
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Скомпилируйте модифицированную программу в терминале:

    javac HelloJava.java

    Опять же, отсутствие вывода означает успешную компиляцию.

  5. Запустите программу:

    java HelloJava

    Вы должны увидеть вывод, похожий на следующий:

    String 1: "Hello"
    Is String 1 empty? false
    
    String 2: ""
    Is String 2 empty? true
    
    String 3: " "
    Is String 3 empty? false

    Как вы можете видеть, метод isEmpty() правильно определяет, что str2 пуста (true), но str1 и str3 не пусты (false). Это потому, что str3 содержит символ пробела, даже если кажется, что она может быть пустой.

Вы успешно использовали метод isEmpty() для проверки строк на пустоту. Это полезно для валидации пользовательского ввода или обработки текстовых данных, когда вам нужно обрабатывать случаи отсутствия или пустых строк.

Обработка нулевых строк перед проверкой на пустоту

На предыдущем этапе мы узнали, как использовать метод isEmpty() для проверки, является ли строка пустой. Однако в Java есть важное понятие, называемое null. Значение null означает, что переменная не ссылается на какой - либо объект. Если вы попытаетесь вызвать такой метод, как isEmpty(), для строки со значением null, ваша программа завершится аварийно с ошибкой NullPointerException.

Важно обработать строки со значением null перед попыткой вызвать на них какие - либо методы. Самый безопасный способ сделать это - сначала проверить, является ли строка null.

Модифицируем нашу программу, чтобы продемонстрировать, как обрабатывать строки со значением null.

  1. Откройте файл HelloJava.java в редакторе WebIDE.

  2. Замените существующий код следующим:

    public class HelloJava {
        public static void main(String[] args) {
            String str1 = "Hello";
            String str2 = "";
            String str3 = null; // This string is null
    
            System.out.println("Checking String 1: \"" + str1 + "\"");
            if (str1 != null && !str1.isEmpty()) {
                System.out.println("String 1 is not null and not empty.");
            } else {
                System.out.println("String 1 is null or empty.");
            }
    
            System.out.println("\nChecking String 2: \"" + str2 + "\"");
            if (str2 != null && !str2.isEmpty()) {
                System.out.println("String 2 is not null and not empty.");
            } else {
                System.out.println("String 2 is null or empty.");
            }
    
            System.out.println("\nChecking String 3: " + str3); // Note: printing null doesn't crash
            if (str3 != null && !str3.isEmpty()) {
                System.out.println("String 3 is not null and not empty.");
            } else {
                System.out.println("String 3 is null or empty.");
            }
        }
    }

    В этом коде:

    • Мы вводим строку str3 со значением null.
    • Перед вызовом метода isEmpty() мы сначала проверяем, является ли строка null, используя str != null.
    • Мы используем логический оператор И (&&) для объединения проверки на null и проверки на пустоту с помощью isEmpty(). Часть !str.isEmpty() вычисляется только в том случае, если str != null истинно, что предотвращает ошибку NullPointerException.
    • Условный оператор if проверяет, является ли строка не null и не пустой.
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Скомпилируйте программу в терминале:

    javac HelloJava.java
  5. Запустите программу:

    java HelloJava

    Вы должны увидеть вывод, похожий на следующий:

    Checking String 1: "Hello"
    String 1 is not null and not empty.
    
    Checking String 2: ""
    String 2 is null or empty.
    
    Checking String 3: null
    String 3 is null or empty.

    Этот вывод показывает, что наш код правильно определяет, что str1 не является null и не пуста, а str2 и str3 являются null или пустыми, не завершаясь аварийно.

Проверяя на null перед вызовом методов для строк, вы делаете свои Java - программы более надежными и предотвращаете распространенные ошибки. Это очень важная практика в программировании на Java.

Резюме

В этом практическом занятии мы научились проверять, является ли строка пустой на Java. Мы начали с изучения метода length() для определения количества символов в строке, что является фундаментальным понятием при работе с текстовыми данными. Мы написали простую Java - программу, чтобы продемонстрировать, как использовать метод length() и вывести строку и ее длину в консоль.

Мы продолжим изучать другие методы, такие как isEmpty(), и научимся обрабатывать строки со значением null, чтобы обеспечить надежную проверку на пустоту в наших Java - программах.