2014-03-27 170 views

回答

3

因爲''不是字面作爲Java Language Specification定義的字符。

CharacterLiteral: 
    ' SingleCharacter ' 
    ' EscapeSequence ' 

SingleCharacter: 
    InputCharacter but not ' or \ 

InputCharacter: 
    UnicodeInputCharacter but not CR or LF 

UnicodeInputCharacter: 
    UnicodeEscape 
    RawInputCharacter 

UnicodeEscape: 
    \ UnicodeMarker HexDigit HexDigit HexDigit HexDigit 

UnicodeMarker: 
    u 
    UnicodeMarker u 

RawInputCharacter: 
    any Unicode character 

HexDigit: one of 
    0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F 

在另一方面,a String literal is defined as

StringLiteral: 
    " StringCharacters opt " 

通知的opt,可選。

0

一個字符串基本上是一個字符數組,並且一個數組可以在沒有任何問題的情況下爲空。

由於字符不是數組,它不能爲空,必須將其設置爲有效的「字符」值。

+1

你不能將它設置爲'null' –

+0

你是對的,我的錯。 – Adam

0

嘗試\ 0。這將是空字符基元的一個很好的替代品。這些不是空的原始人物,它必須是某種東西。

相關問題