I'm trying to use the char method isLetter()
, which is supposed to return boolean value corresponding to whether the character is a letter. But when I call the method, I get an error stating that "char cannot be dereferenced." I don't know what it means to dereference a char or how to fix the error. the statement in question is:
if (ch.isLetter())
{
....
....
}
Any help? What does it mean to dereference a char and how do I avoid doing so?
Dereferencing is the process of accessing the value referred to by a reference. Since a char is already a value (not a reference), it can not be dereferenced.
In Java, a reference is an address to some object/variable. Dereferencing means the action of accessing an object's features through a reference. Performing any dereferencing on a primitive will result in the error “X cannot be dereferenced”, where X is a primitive type.
As we can see in the example mentioned above is an integer(int), which is a primitive type, and hence it cannot be dereferenced.
double cannot be dereferenced is the error some Java compilers give when you try to call a method on a primitive.
The type char is a primitive -- not an object -- so it cannot be dereferenced
Dereferencing is the process of accessing the value referred to by a reference. Since a char is already a value (not a reference), it can not be dereferenced.
use Character
class:
if(Character.isLetter(c)) {
A char
doesn't have any methods - it's a Java primitive. You're looking for the Character wrapper class.
The usage would be:
if(Character.isLetter(ch)) { //... }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With