我試圖使用char方法isLetter()
,它應該返回對應於該字符是否爲字母的布爾值。但是當我調用該方法時,我收到一個錯誤,指出「char不能被解除引用」。我不知道取消引用char或解決錯誤的含義。該聲明是:「Char can not be dereferenced」error
if (ch.isLetter())
{
....
....
}
任何幫助嗎?解引用字符意味着什麼?我如何避免這樣做?
我試圖使用char方法isLetter()
,它應該返回對應於該字符是否爲字母的布爾值。但是當我調用該方法時,我收到一個錯誤,指出「char不能被解除引用」。我不知道取消引用char或解決錯誤的含義。該聲明是:「Char can not be dereferenced」error
if (ch.isLetter())
{
....
....
}
任何幫助嗎?解引用字符意味着什麼?我如何避免這樣做?
的類型char是一個原始 - 不是一個對象 - 因此它不能被解除引用
解引用是訪問由參考所指的值的處理。由於char已經是一個值(不是引用),所以它不能被解除引用。
使用Character
類:
if(Character.isLetter(c)) {
+1 - 雖然也應該注意到,'Character.isLetter(c)'中的'。'表示使用了'Character'的靜態方法。 – 2011-04-03 03:34:19
我猜ch
是一個聲明爲char
。由於char
是一種原始數據類型,而不是對象,所以不能從中調用任何方法。你應該使用Character.isLetter(ch)
。
如果Character.isLetter(ch)
看起來有點羅嗦/醜,你可以使用靜態導入。
import static java.lang.Character.*;
if(isLetter(ch)) {
} else if(isDigit(ch)) {
}
不要試圖呼籲元方法。如何Character.isLetter(ch); – 2011-04-03 02:08:33