När ett Java-program kompileras skapar kompilatorn en lista över alla identifierare i användning. Om den inte hittar vad en identifierare refererar till (t.ex. finns det inget uttalande för en variabel) kan den inte slutföra kompilationen.
Även om Java-källkoden innehåller andra saker som nyckelord, kommentarer och operatörer, är Felet "Kan inte hitta symbol" hänvisar till namnet på ett specifikt paket, gränssnitt, klass, metod eller variabel. Kompilatorn måste veta vad varje identifierare refererar till. Om den inte gör det letar koden i princip efter något som kompilatorn ännu inte förstår.
Ibland uppstår felet från en kombination av problem. Därför, om du åtgärdar en sak, och felet kvarstår, kontrollera om olika problem fortfarande påverkar din kod.
Det är till exempel möjligt att du försöker använda en odeklarerad variabel och när du fixar den innehåller koden fortfarande stavfel.
Fel som felaktigheter i kapitalisering flaggas ofta i en dedikerad integrerad utvecklingsmiljö. Även om du kan skriva din Java-kod i valfri textredigerare, använder IDE: er och deras tillhörande fodringsverktyg minskar typfel och felanpassningar. Vanliga Java IDE: er inkluderar Eclipse och NetBeans.