Wanneer een Java-programma wordt gecompileerd, maakt de compiler een lijst met alle ID's in gebruik. Als het niet kan vinden waarnaar een ID verwijst (er is bijvoorbeeld geen verklaring verklaring voor een variabele) kan het de compilatie niet voltooien.
Hoewel de Java-broncode andere dingen bevat, zoals trefwoorden, opmerkingen en operatoren, is de Fout "Kan symbool niet vinden" verwijst naar de naam van een specifiek pakket, interface, klasse, methode of variabel. De compiler moet weten waar elke identifier naar verwijst. Als dit niet het geval is, zoekt de code in feite naar iets dat de compiler nog niet begrijpt.
Soms komt de fout voort uit een combinatie van problemen. Daarom, als u één ding oplost en de fout blijft bestaan, controleer dan op verschillende problemen die uw code nog steeds beïnvloeden.
Het is bijvoorbeeld mogelijk dat u een niet-gedeclareerde variabele probeert te gebruiken en wanneer u deze repareert, bevat de code nog steeds spelfouten.
Fouten zoals niet-overeenkomende hoofdletters worden vaak gemarkeerd in een speciale
geïntegreerde ontwikkelomgeving. Hoewel u uw Java-code in elke teksteditor kunt schrijven, vermindert het gebruik van IDE's en de bijbehorende pluisgereedschappen typefouten en verkeerde combinaties. Veelvoorkomende Java-IDE's zijn Eclipse en NetBeans.