簡體   English   中英

“Char無法解除引用”錯誤

[英]“Char cannot be dereferenced” error

我正在嘗試使用char方法isLetter() ,它應該返回對應於字符是否為字母的布爾值。 但是當我調用該方法時,我收到一條錯誤,指出“char不能被解除引用”。 我不知道取消引用char或如何修復錯誤意味着什么。 有關的陳述是:

if (ch.isLetter()) 
{
....
....
}

有幫助嗎? 取消引用字符是什么意思,我該如何避免這樣做?

char類型是一個原語 - 而不是一個對象 - 所以它不能被解除引用

解除引用是訪問引用引用的值的過程。 由於char已經是值(不是引用),因此無法解除引用。

使用Character類:

if(Character.isLetter(c)) {

我猜ch是聲明為char 由於char是原始數據類型而不是對象,因此您無法從中調用任何方法。 你應該使用Character.isLetter(ch)

char沒有任何方法 - 它是Java 原語 您正在尋找Character包裝器類。

用法是:

if(Character.isLetter(ch)) { //... }

如果Character.isLetter(ch)看起來有點冗長/丑陋,你可以使用靜態導入。

import static java.lang.Character.*;


if(isLetter(ch)) {

} else if(isDigit(ch)) {

} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM