爲什麼我們不能將char類型變量的默認值設置爲''?同樣,我們可以在Java中將字符串變量的默認值設置爲「」。爲什麼我們不能將char類型變量的默認值設置爲''
假設
class abc
{
private String a="";
private char b='';//here it will give error
}
爲什麼我們不能將char類型變量的默認值設置爲''?同樣,我們可以在Java中將字符串變量的默認值設置爲「」。爲什麼我們不能將char類型變量的默認值設置爲''
假設
class abc
{
private String a="";
private char b='';//here it will give error
}
因爲''
不是字面作爲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
,可選。
一個字符串基本上是一個字符數組,並且一個數組可以在沒有任何問題的情況下爲空。
由於字符不是數組,它不能爲空,必須將其設置爲有效的「字符」值。
如果你想設置字符是空的使用:
Character c='\u0000'
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
嘗試\ 0。這將是空字符基元的一個很好的替代品。這些不是空的原始人物,它必須是某種東西。
你不能將它設置爲'null' –
你是對的,我的錯。 – Adam