为什么我们调用null String?

时间:2010-01-31 16:12:14

标签: java

我想知道为什么我们调用null字符串。其中Strings是java中的对象,对象不能为null,只有引用可以为null。

任何人都可以详细说明吗?

5 个答案:

答案 0 :(得分:7)

这里有点混乱。我希望'null String'是一个实际上不引用String的String引用(即它是null)。但是this article声称'null string'是一个空字符串。

出于这个原因,我尝试讨论空引用 - 即根本不指向任何内容的引用,而不是有效对象。而且(要清楚)空字符串。对我来说'null String'意味着与null引用相同,但后一个术语对我来说更清楚。

答案 1 :(得分:2)

表达式“null string”仅表示“string”类型的引用,它不引用任何内容(即“null”)。这是一个常用的短语,但正如你所指出的那样并不完全正确。

这只是一种在随意对话中表达概念的简单方式,而不是别的。

答案 2 :(得分:1)

JLS定义空字符串和空文字以及空引用。

如果作者介绍空字符串,他应该定义空字符串的确切含义。

答案 3 :(得分:0)

你可以这样看:

  • 对象是类的实例。
  • 对象引用是指无或单个对象。

以下是一个例子:

String a; // object reference a has the value null
a = new String("Hello World"); // new object is assigned to reference a. Yes, I
                               // know that the string constructor should be avoided, but
                               // to show the point it is necessary
String b = a; // object references point to the same object 

对象引用可以是null,如果没有分配对象,则为null。 如果您调用此类对象,则会抛出NullPointerException

我假设您来自C ++。 Java对象更像是C ++指针,因为它具有空值,但是以安全的方式。

答案 4 :(得分:0)

对我来说,空字符串String null

String NULL = null;

这与空字符串

非常不同
String EMPTY = "";

即使很多来源(WikipediaEncyclopedia.comAnswers.com引用它们)似乎认为空字符串空字符串是一回事。