Fout “Van Char kan niet worden verwijderd”

Ik probeer de char-methode isLetter()te gebruiken, die een booleaanse waarde moet retourneren die overeenkomt met of het teken een letter is. Maar wanneer ik de methode aanroep, krijg ik een foutmelding dat “char kan niet worden verwijderd.” Ik weet niet wat het betekent om een char te dereferentie of hoe de fout te herstellen. de verklaring in kwestie is:

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

Heeft u hulp? Wat betekent het om naar een char te verwijzen en hoe voorkom ik dat?


Antwoord 1, autoriteit 100%

Het type char is een primitief — geen object — dus er kan niet naar verwezen worden

Dereferentie is het proces waarbij toegang wordt verkregen tot de waarde waarnaar wordt verwezen door een verwijzing. Aangezien een char al een waarde is (geen referentie), kan er niet naar worden verwezen.

gebruik klasse Character:

if(Character.isLetter(c)) {

Antwoord 2, autoriteit 4%

Ik denk dat chis gedeclareerd als char. Aangezien chareen primitief datatype is en niet en object, kun je er geen methof uit aanroepen. U moet Character.isLetter(ch)gebruiken.


Antwoord 3, autoriteit 4%

Een charheeft geen methoden – het is een Java primitief. U zoekt het karakter wrapper-klasse.

Het gebruik zou zijn:

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

Antwoord 4

Als Character.isLetter(ch)er een beetje omslachtig/lelijk uitziet, kun je een statische import gebruiken.

import static java.lang.Character.*;
if(isLetter(ch)) {
} else if(isDigit(ch)) {
} 

Other episodes