web-dev-qa-db-fra.com

Erreur "Impossible de déréférencer le caractère"

J'essaie d'utiliser la méthode char isLetter(), qui est censée retourner une valeur booléenne correspondant à si le caractère est une lettre. Mais lorsque j'appelle la méthode, j'obtiens une erreur indiquant que "char ne peut pas être déréférencé". Je ne sais pas ce que signifie déréférencer un caractère ou comment corriger l'erreur. la déclaration en question est:

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

De l'aide? Qu'est-ce que cela signifie de déréférencer un caractère et comment puis-je éviter de le faire?

11
user658168

Le type char est une primitive - pas un objet - donc il ne peut pas être déréférencé

Le déréférencement est le processus d'accès à la valeur référencée par une référence. Puisqu'un caractère est déjà une valeur (pas une référence), il ne peut pas être déréférencé.

utilisez la classe Character:

if(Character.isLetter(c)) {
21
manji

Je suppose que ch est un déclaré comme char. Puisque char est un type de données primitif et non un objet, vous ne pouvez pas appeler de méthof à partir de celui-ci. Vous devez utiliser Character.isLetter(ch).

1
MByD

Un char n'a pas de méthodes - c'est un Java primitif . Vous cherchez le wrapper Character classe.

L'usage serait:

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