Kurz erklärt
Ein Datentyp für Text — eine Folge von Zeichen, die in den meisten Sprachen als Referenztyp behandelt wird, auch wenn sie sich in der täglichen Nutzung oft wie ein einfacher Wert anfühlt.
Genauer
In vielen modernen Sprachen sind Strings unveränderlich (immutable) — jede scheinbare "Änderung" (z. B. Großbuchstaben umwandeln) erzeugt intern tatsächlich einen komplett neuen String, statt den bestehenden zu verändern. Das macht Strings sicher im gleichzeitigen Zugriff durch mehrere Threads, kann aber bei sehr vielen aufeinanderfolgenden Änderungen (Verkettungen) ineffizient werden.