Extends Observable

Hallo zusammen

Ich bin am konvertieren von alten Programmen, damit sie mit openJDK 16.0.2 lauffähig sind. Nun stosse ich auf das Problem, dass ich vieles mit Observable gemacht habe, was anscheinend nicht mehr unterstützt wird. Gibt es dafür einen Nachfolger?

public class Model extends Observable

Selber gefunden:

@SuppressWarnings("deprecation")

Ya, das Problem, dass Observer deprecated geworden ist, ist bekannt:

https://stackoverflow.com/questions/46380073/observer-is-deprecated-in-java-9-what-should-we-use-instead-of-it

Alternative:

You can use PropertyChangeEvent and PropertyChangeListener from java.beans package.

Mit @SuppressWarnings("deprecation") unterdrückst du die Meldung nur. :wink:

Schönen Samstag

Schon klar, aber für mich reicht das… Die Software muss nur noch ein paar Monate laufen…

so wie ich das deute gibt es nicht „DEN“ Nachfolger, du sollst wohl laut deren Vorstellungen mit Streams & Co arbeiten oder java.beans

Schreib doch eine eigene Klasse Observable.

1 Like

Naja, man kann darüber streiten, was nun besser sei, eine eigene Implementierung zu schreiben oder die @SuppressWarnings("deprecation")-Annotation hinzuzufügen. Ich würde Zweiteres präferieren, auch wenn das nicht wirklich „clean“ ist… aber eine bestehende Klasse 1:1 zu imitieren (oder auf Beans auszuweichen), widerstrebt mir. Insofern gibt es meinerseits keine Kritik an den TE.

nein da gibt es nichts zu streiten, langfristig ist eine Warnung zu ignorieren keine Lösung, da aber keine langfristige Lösung gesucht wird ist das egal

Seit lieb zu einander​:wink: Vielen Dank für die Hilfe, ich werde tatsächlich die Warnung im Moment unterdrücken, denn es wird tatsächlich in einem Jahr ersetzt durch eine Nachfolge Maschine…