In Java sind Zeichenketten vollwertige Objekte. Dies hat den Vorteil, daß z. B. das Lesen von Zeichenketten in allen Systemen aus der Programmiersicht gleich ist, insbesondere können die Objekte Laufzeitüberprüfungen für Grenzbedingungen durchführen. Java unterstützt die Arbeit mit Zeichenketten durch zwei Klassen, String und StringBuffer. Ändert sich der Wert einer Zeichenkette nicht (z. B. bei der Übergabe von Zeichenkettenparametern an Methoden), so kann die Klasse String verwendet werden. Für veränderbare Zeichenketten existiert die Klasse StringBuffer. Zusammen besitzen beide Klassen eine Vielzahl Methoden zum Zugriff auf einzelne Zeichen oder Teile der Zeichenketten, zum Ändern, Kopieren Löschen oder Verbinden von Zeichenketten.