Java String.isEmpty()
Метод isEmpty() — это удобный метод, который проверяет, равен ли размер строки нулю.
Доступные подписи
public boolean isEmpty()
Пример
@Test public void whenCallIsEmpty_thenCorrect() String s1 = ""; assertTrue(s1.isEmpty()); >
Проверка строки на null и пустоту в Java
Одной из распространенных задач при работе со строками в Java является проверка, является ли строка пустой или равной null . Этот вопрос возникает, когда есть необходимость обработать строку, которая может быть пустой или не определенной.
Допустим, есть код, который принимает строку в качестве входного параметра и выполняет некоторые операции с этой строкой.
public void processString(String str) < // Обработка строки >
В этом случае, прежде чем выполнить операции над строкой str , нужно убедиться, что она не равна null и не пуста.
Проверка на null
Чтобы проверить, равна ли строка null , можно использовать оператор неравенства != .
if (str != null) < // Обработка строки >
Проверка на пустоту
Чтобы проверить, является ли строка пустой, можно использовать метод isEmpty() класса String .
if (!str.isEmpty()) < // Обработка строки >
Проверка на null и пустоту
Чтобы проверить, что строка не равна null и не пуста, можно объединить оба условия с помощью логического оператора && .
if (str != null && !str.isEmpty()) < // Обработка строки >
Это самый простой и эффективный способ проверки строки на null и пустоту в Java. Однако, стоит помнить, что метод isEmpty() возвращает true только для строк, длина которых равна 0. Строка, содержащая только пробелы, не будет считаться пустой. Если нужно считать такие строки пустыми, можно использовать метод trim() перед проверкой на пустоту.
if (str != null && !str.trim().isEmpty()) < // Обработка строки >
В этом случае метод trim() удалит пробелы в начале и в конце строки, и если после этого строка станет пустой, то она будет считаться пустой.
Определите, пуста ли коллекция (набор, список, карта и т. д.) в Java
В этом посте будет обсуждаться, как проверить, пуста ли коллекция (набор, список, карта и т. д.) в Java.
1. Использование isEmpty() метод
Стандартное решение для проверки того, пуста ли коллекция Java, вызывает метод isEmpty() метод на соответствующей коллекции. Возвращает true, если коллекция не содержит элементов.
Следующее решение обеспечивает пользовательскую реализацию isEmpty() а также isNotEmpty() методы, которые изящно обрабатывают нулевой ввод.
Работа со строками
Строка представляет собой последовательность символов. Для работы со строками в Java определен класс String, который предоставляет ряд методов для манипуляции строками. Физически объект String представляет собой ссылку на область в памяти, в которой размещены символы.
Для создания новой строки мы можем использовать один из конструкторов класса String, либо напрямую присвоить строку в двойных кавычках:
public static void main(String[] args) < String str1 = "Java"; String str2 = new String(); // пустая строка String str3 = new String(new char[] ); String str4 = new String(new char[], 3, 4);//3 -начальный индекс, 4 -кол-во символов System.out.println(str1); // Java System.out.println(str2); // System.out.println(str3); // hello System.out.println(str4); // come >
При работе со строками важно понимать, что объект String является неизменяемым ( immutable ). То есть при любых операциях над строкой, которые изменяют эту строку, фактически будет создаваться новая строка.
Поскольку строка рассматривается как набор символов, то мы можем применить метод length() для нахождения длины строки или длины набора символов:
String str1 = "Java"; System.out.println(str1.length()); // 4
А с помощью метода toCharArray() можно обратно преобразовать строку в массив символов:
String str1 = new String(new char[] ); char[] helloArray = str1.toCharArray();
Строка может быть пустой. Для этого ей можно присвоить пустые кавычки или удалить из стоки все символы:
String s = ""; // пустая строка if(s.length() == 0) System.out.println("String is empty");
В этом случае длина строки, возвращаемая методом length(), равна 0.
Класс String имеет специальный метод, который позволяет проверить строку на пустоту — isEmpty() . Если строка пуста, он возвращает true:
String s = ""; // пустая строка if(s.isEmpty()) System.out.println("String is empty");
Переменная String может не указывать на какой-либо объект и иметь значение null :
String s = null; // строка не указывает на объект if(s == null) System.out.println("String is null");
Значение null не эквивалентно пустой строке. Например, в следующем случае мы столкнемся с ошибкой выполнения:
String s = null; // строка не указывает на объект if(s.length()==0) System.out.println("String is empty"); // ! Ошибка
Так как переменная не указывает ни на какой объект String, то соответственно мы не можем обращаться к методам объекта String. Чтобы избежать подобных ошибок, можно предварительно проверять строку на null:
String s = null; // строка не указывает на объект if(s==null || s.length()==0) System.out.println("String is empty");
Основные методы класса String
Основные операции со строками раскрывается через методы класса String, среди которых можно выделить следующие:
- concat() : объединяет строки
- valueOf() : преобразует объект в строковый вид
- join() : соединяет строки с учетом разделителя
- сompareTo() : сравнивает две строки
- charAt() : возвращает символ строки по индексу
- getChars() : возвращает группу символов
- equals() : сравнивает строки с учетом регистра
- equalsIgnoreCase() : сравнивает строки без учета регистра
- regionMatches() : сравнивает подстроки в строках
- indexOf() : находит индекс первого вхождения подстроки в строку
- lastIndexOf() : находит индекс последнего вхождения подстроки в строку
- startsWith() : определяет, начинается ли строка с подстроки
- endsWith() : определяет, заканчивается ли строка на определенную подстроку
- replace() : заменяет в строке одну подстроку на другую
- trim() : удаляет начальные и конечные пробелы
- substring() : возвращает подстроку, начиная с определенного индекса до конца или до определенного индекса
- toLowerCase() : переводит все символы строки в нижний регистр
- toUpperCase() : переводит все символы строки в верхний регистр
Разберем работу этих методов.