“Char无法解除引用”错误

时间:2011-04-03 02:05:59

标签: java char dereference

我正在尝试使用char方法isLetter(),它应该返回对应于字符是否为字母的布尔值。但是当我调用该方法时,我收到一条错误,指出“char不能被解除引用”。我不知道取消引用char或如何修复错误意味着什么。有问题的陈述是:

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

有任何帮助吗?取消引用字符是什么意思,我该如何避免这样做?

4 个答案:

答案 0 :(得分:20)

char类型是原语 - 不是对象 - 因此无法解除引用

取消引用是访问引用引用的值的过程。由于char已经是值(不是引用),因此无法解除引用。

使用Character类:

if(Character.isLetter(c)) {

答案 1 :(得分:1)

char没有任何方法 - 它是Java primitive。您正在寻找Character包装器类。

用法是:

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

答案 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)) {

}