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