Hi,
Fix 2 Möglichkeiten:
Erstelle dir eine eigene Klasse "MyString", die von String erbt. Diese bietet über eine statische Methode die Möglichkeit, einen Observer hinzuzufügen. Also quasi das Observer Pattern, nur statisch implementiert halt. Dann überschreibst du alle Kontruktoren, die du brauchst, und fügst in diesen dann einen Aufruf an die update-Funktion des Listeners hinzu.
Dann arbeitest du nicht mit normalen Strings, sondern mit deiner eigenen Klasse. Dadurch, dass du von String erbst, kannst du das Objekt auch wie jeden anderen String verwenden (Up-Casting).
2. Du erstellst einen Thread, der in regelmäßigen Abständen den String auf eine Änderung überprüft. Hierzu muss sich der Thread bei jeder Änderung den neuen Zustand des Strings merken um ihn bei der nächsten Überprüfung nicht nochmal als Änderung erkennt.
Ich würde Methode 1 bevorzugen, die wirkt auf mich sauberer. Die zweite Methode ist vielleicht einfacher, braucht aber mehr Leistung und läuft nicht in Echtzeit. Je nachdem wie schnell der Wert geändert wird kann bei Methode 2 eine Änderung verloren gehen.
Grüße,
BK