2010-01-31 87 views

回答

7

這裏有點混亂。我期望'空字符串'是一個實際上不引用字符串的字符串引用(即它爲空)。但this article聲稱'空字符串'是一個空字符串。

由於這個原因,我嘗試談論空引用 - 即根本不指向任何內容的引用,而不是有效的對象。和(清楚)空串。對我而言,'空字符串'意味着與空引用相同,但後者對我來說更清楚。

+1

+1用於區分與「字符串」關係中的「空」和「空」。根據我的經驗,一個常見的誤解。 – aperkins 2010-01-31 16:21:06

+1

Apache Commons Lang'StringUtils'明確區分「空白」,「空白」和「空白」......所有有用的區別。 – skaffman 2010-01-31 16:24:20

+1

@skaffman - 空白和空白之間的區別是什麼? – 2010-01-31 16:25:10

2

表達式「空字符串」僅僅意味着引用「空」(即「空」)的類型「字符串」的引用。這是一個常用的短語,但並不完全正確,正如你指出的那樣。

這只是一種在休閒對話中表達概念的簡單方式,沒有別的。

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++指針,因爲它有一個空值,但是以一種安全的方式。

0

對我來說,空字符串Stringnull

String NULL = null; 

這是從空字符串很大的不同:

String EMPTY = ""; 

即使許多來源( Wikipedia,Encyclopedia.com,Answers.com引用他們)似乎認爲一個nu ll字符串空字符串是一樣的東西。

1

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

如果作者介紹空字符串他應該定義空字符串的確切含義。

相關問題