我正在尝试使用char方法isLetter()
,它应该返回对应于字符是否为字母的布尔值。但是当我调用该方法时,我收到一条错误,指出“char不能被解除引用”。我不知道取消引用char或如何修复错误意味着什么。有问题的陈述是:
if (ch.isLetter())
{
....
....
}
有任何帮助吗?取消引用字符是什么意思,我该如何避免这样做?
答案 0 :(得分:20)
char类型是原语 - 不是对象 - 因此无法解除引用
取消引用是访问引用引用的值的过程。由于char已经是值(不是引用),因此无法解除引用。
使用Character
类:
if(Character.isLetter(c)) {
答案 1 :(得分:1)
答案 2 :(得分:0)
我猜ch
声明为char
。由于char
是原始数据类型而不是对象,因此您无法从中调用任何方法。您应该使用Character.isLetter(ch)
。
答案 3 :(得分:-1)
如果Character.isLetter(ch)
看起来有点冗长/丑陋,您可以使用静态导入。
import static java.lang.Character.*;
if(isLetter(ch)) {
} else if(isDigit(ch)) {
}