Отрицательная длина строки - PullRequest
5 голосов
/ 19 февраля 2011

Можете ли вы иметь отрицательную длину строки?Если так, то это то же самое, что и ноль?

Ответы [ 6 ]

9 голосов
/ 19 февраля 2011

Нет;длина строки равна 0 (пустая строка, представленная как "") или выше.И пустая строка не тоже самое, что и ноль (в Java она не называется пустая строка ).

Для лучшего пониманиячто означает нуль в Java, вы можете проверить следующие вопросы:

3 голосов
/ 19 февраля 2011

Нет, никогда.

длина - это число без знака, оно не может быть отрицательным.

ответ на первый вопрос отрицает легитимность второго вопроса.

1 голос
/ 19 февраля 2011

Вы не можете создать допустимую строку с отрицательной длиной.

Однако, чтобы ответить на ваш вопрос более подробно, метод length () имеет вид

public int length() {
    return count;
}

, и вы можете использовать отражение, чтобы изменить count на -1 или любой отрицательный intзначение.Это вряд ли будет полезно, но может привести к ошибкам в вашей системе.

1 голос
/ 19 февраля 2011

String.length() возвращает длину строки в виде примитива int, поэтому возвращаемое значение не может быть нулевым.

В javadoc не указано, что возвращаемое значение может быть меньше нуля, но что метод возвращает количество символов в строке.

1 голос
/ 19 февраля 2011

Нет.Длина строки - любое положительное целое число или ноль.Нуль не равен нулю и не равен нулю для любого отрицательного значения.

0 голосов
/ 19 февраля 2011

я так не думаю, кроме случаев, когда вы сознательно решили использовать смещение (например, -1) В противном случае, любая пустая строка имеет длину 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...