null,0和no之间有什么区别?

时间:2013-10-29 09:12:58

标签: java null zero

null0nothing之间有什么区别?

我无法找到解决所有这三个问题的问题。

例如:

如果我从string获取输入并将其解析为int

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

或者,如果我问的是string != ""is not nothing我是否对使用何时以及为何使用感到困惑。

我对在验证数据时使用哪一个感到困惑。

8 个答案:

答案 0 :(得分:14)

null表示变量包含对内存中不包含对象的空间的引用。

0是一种值为0的数字数据类型。

Nothing并不存在,但我认为您可能将其视为空字符串"",它只是一个不包含值的String数据类型。 / p>

如果你从Javascript范例看这个问题,可能会让人感到困惑。在Java中,变量不是真实的,因此在比较中考虑了类型。

答案 1 :(得分:9)

0是一个数字,用它来检查数值(int,short,float,double等)是否为0。

null是指向任何地方的引用的值,您使用它来确保引用确实引用了某些内容。

nothing不是Java的一部分。

最接近的事情(因为:根本没有信息)是方法的void声明。它声明该方法几乎没有返回。

请注意,0,null和空字符串""是值,因此包含信息。

例如,0是“从5中减去5是什么?”的答案。 (其中包括)。

null是对“这件事指向一个物体吗?”的否定回应。

""“可能是”你名字中'X'的最长顺序是什么?“的答案,除非你的名字是”Xanthippe“。

答案 2 :(得分:7)

Java中没有“无”。有一个null引用,意味着一个变量引用没有对象,所以它是一种什么都没有,但是没有undefined的概念,因为它在Javascript中。

另请注意,应使用String进行equals比较,而不是!===string.equals(otherString)

0值是int在声明为实例变量时获得的默认值。

答案 3 :(得分:5)

在Java中

"Null",对象引用不指向任何对象,它是null。

"Nothing",Java没有任何名为“Nothing”的内容

"0"表示。字符串对象的值为“0”

""表示空字符串,即字符串对象存在,值为“”

答案 4 :(得分:5)

  • “没有”在Java中没有任何意义。

  • 0表示大于-1且小于1的整数值。

  • “Null”表示如果内存中没有任何对象引用点,则称为“空”引用。

答案 5 :(得分:3)

在Java中检查String对象的最佳方法是使用org.apache.commons.lang.StringUtils。

如果您不想使用StringUtils,您可能首先要检查sc.nextList()是否为空(!= null),如果它不为空,那么您可以检查这与“”(!= "")不同。

答案 6 :(得分:2)

Null变量未分配任何值。内存空间(变量)为空或保存垃圾值。 变量为0时,变量保持值' 0'。存储空间具有值' 0' 0存储在其中。

NULL基本上意味着没有值或未知的NULL值可以是空的,无意义的,甚至不是初始化的。例如,当我们说,员工奖金为空时,意味着该人没有获得任何奖金或没有资格获得奖金。如果值为0,则其平均员工获得奖金但当前奖金为零。

答案 7 :(得分:1)

例如:

int s;      //s=null
int s = 0 ;  //s=0
String s="";// s=nothing