11

null0和有什么区别nothing

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

例如:

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

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

或者,如果我问的是 astring != ""还是 a,is not nothing我对何时以及为什么使用哪个感到困惑。

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

4

8 回答 8

15

null意味着变量包含对内存中不包含对象的空间的引用。

0是数值数据类型,值为 0。

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

如果你从一个Javascript范式来看这个,它可能会令人困惑。在 Java 中,变量不是真假,因此在比较时会考虑类型。

于 2013-10-29T09:18:18.290 回答
9

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

null是无处指向的引用的值,您使用它来确保引用确实引用了某些东西。

nothing不是Java的一部分。

最接近无用的事情(因为:根本没有信息)是void方法的声明。它声明该方法实际上没有返回任何内容。

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

例如,0 是“5 减去 5 是多少?”的答案。(除其他外)。

null是对“这东西指向一个物体吗?”的否定回答。

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

于 2013-10-29T09:16:43.263 回答
7

Java 中没有“无”。有一个null引用,意思是一个变量不引用任何对象,所以它是一种无,但undefined在Javascript中没有as it is的概念。

另外,请注意String应该使用equals, not !=or ==, so进行比较string.equals(otherString)

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

于 2013-10-29T09:15:14.303 回答
5

"Null"在 Java 中,对象引用没有指向任何对象,它是空的。

"Nothing",Java没有什么叫做“Nothing”

"0"表示 .string 对象存在,值为“0”

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

于 2013-10-29T09:18:04.100 回答
5
  • “无”在 Java 中没有任何意义。

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

  • “Null”表示如果任何对象引用在内存中无处指向,则称为“Null”引用。

于 2013-10-29T09:18:22.850 回答
3

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

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

于 2013-10-29T09:19:12.433 回答
2

例如:

int s;      //s=null
int s = 0 ;  //s=0
String s="";// s=nothing
于 2013-10-29T09:17:59.080 回答
2

Null 变量未分配任何值。(变量的)内存空间为空或保存垃圾值。当变量为 0 时,该变量保存值“0”。内存空间中存储了值“0”。

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

于 2017-02-06T08:02:26.530 回答