В чем разница между null, 0 и ничего?

в чем разница между null, 0 и nothing?

Я не могу найти вопрос, касающийся всех трех из них.

например:

если я получаю информацию от string и разбор его на int.

return Integer.parseInt(sc.nextLine());

или если я спрашиваю, если string != "" или is not nothing Я смущен тем, что использовать, когда и почему.

Я запутался, какой из них использовать при проверке данных.

8 ответов


null означает, что переменная содержит ссылку на место в памяти, которое не содержит объекта.

0 - числовой тип данных со значением 0.

Nothing на самом деле не существует, однако я думаю, что вы можете рассматривать это как пустую строку "" это просто String тип данных, не содержащий значения.

если вы смотрите на это из Javascript парадигма это может быть запутанным. В Java переменные не являются правдивыми и falsey поэтому тип рассматривается в сравнениях.


0-это число, вы используете его, чтобы проверить, является ли числовое значение (int, short, float, double и т. д.) является число 0.

null - Это значение ссылки, которая никуда не указывает, вы используете ее, чтобы убедиться, что ссылка действительно ссылается на что-то.

nothing не является частью Java.

ближайшая вещь для ничего (для: Нет информации вообще) - это void объявление метода. В нем говорится, что метод возвращает буквально ничего.

Примечание. что 0, null и пустая строка "" являются значениями и, следовательно, содержат информацию.

например, 0-это ответ на вопрос " что такое 5 вычитается из 5?" (среди прочего.)

null является ли отрицательный ответ на "указывает ли эта вещь на объект?".

"" " может быть ответом на "какой самый длинный sequenc' X в вашем имени?"если вас зовут "Ксантиппой".


в Java нет "ничего". Есть null ссылка, что означает, что переменная не относится к объекту, поэтому это своего рода ничто, но нет понятия undefined как это в Javascript.

кроме того, обратите внимание, что a String сравнение должно быть сделано с помощью equals, а не != или ==, так что string.equals(otherString).

на 0 значение является значением по умолчанию, что int получает при объявлении переменной экземпляра.


"Null" в Java ссылка на объект не указывает на какой-либо объект, она равна null.

"Nothing", Java не имеет ничего под названием "Ничего"

"0" означает, что .объект string существует со значением "0"

"" означает пустую строку, i.e объект String существует со значением""


"ничего" ничего не означает на Java. 0 означает целое значение больше -1 и меньше 1. "Null "означает, что если какие-либо опорные точки объекта нигде в памяти, то это называется" нулевой " ссылкой.


лучший подход для проверки строковых объектов в Java - использование org.апаш.палата общин.ленг.StringUtils.

если вы не хотите использовать StringUtils, вы можете проверить это sc.nextList() не null (!= null) прежде всего, если это не null, то вы можете проверить, что отличается от"" (!= "").


e.g. int s; //s=null int s = 0 ; //s=0 String s="";// s=nothing


переменной Null не присваивается никакого значения. Пространство памяти (переменной) пусто или содержит значение мусора. в то время как переменная равна 0, переменная содержит значение "0". Пространство памяти имеет значение "0", хранящееся в нем.

NULL в основном означает, что нет значения или неизвестно, значение NULL может быть пустым, бессмысленным или даже не инициализированным. Например, когда мы говорим, что бонус сотрудника равен нулю, это означает, что человек не получает никакого бонуса или не имеет права на бонус.теперь, если значение равно 0, его средний сотрудник получает бонус, но в настоящее время бонус равен нулю.