Подтвердить что ты не робот

Android TextUtils isEmpty vs String.isEmpty

В чем разница между TextUtils.isEmpty(string) и string.isEmpty?

Оба выполняют ту же операцию.

Полезно ли использовать TextUtils.isEmpty(string)?

4b9b3361

Ответ 1

Да, TextUtils.isEmpty(string) является предпочтительным.


Для string.isEmpty() значение нулевой строки выдает NullPointerException

TextUtils всегда будет возвращать логическое значение.

В коде первый просто вызывает эквивалент другого, плюс нулевую проверку.

return string == null || string.length() == 0;

Ответ 2

В классе TextUtils

public static boolean isEmpty(@Nullable CharSequence str) {
    if (str == null || str.length() == 0) {
        return true;
    } else {
        return false;
    }
}

проверяет, равна ли длина строки нулю и является ли строка нулевой, чтобы избежать выброса исключения NullPointerException

в классе String

public boolean isEmpty() {
    return count == 0;
}

проверяет, равна ли длина строки только нулю, это может привести к NullPointerException если вы попытаетесь использовать эту строку, и она будет нулевой.

Ответ 3

Посмотрите на документ

для String # isEmpty они указывают:

логический
isEmpty() Возвращает true, если и только если length() равно 0.

и для TextUtils.isEmpty документация объясняет:

public static boolean isEmpty (CharSequence str)

Возвращает true, если строка имеет нулевое значение или длину 0.

поэтому основное отличие заключается в том, что при использовании TextUtils.isEmpty вам все равно, или вам не нужно проверять, ссылается ли строка на null или нет,

в другом случае да.

Ответ 4

TextUtils.isEmpty() лучше в Android SDK из-за внутренней проверки на нулевое значение, поэтому вам не нужно проверять строку на нулевое значение, прежде чем проверять ее пустоту самостоятельно.

Но с Kotlin вы можете использовать String?.isEmpty() и String?.isNotEmpty() вместо TextUtils.isEmpty() и !TextUtils.isEmpty(), это будет более удобным для читателей

Поэтому я думаю, что предпочтительнее использовать String?.isEmpty() в Kotlin и TextUtils.isEmpty() в Android Java SDK

Ответ 5

String?.isNullOrEmpty

может быть то, что вы ищете