Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 9 @Deprecated Annotation erweitert: forRemoval & since Attribute

Hintergrund

@Deprecated existiert seit Java 5, war aber ein reiner Marker ohne Metadaten. Java 9 fügt zwei optionale Attribute hinzu:

Syntax

@Deprecated(since = "9", forRemoval = true)
public void alteMethode() { ... }

Compiler & Tooling Support

Beispiele aus dem JDK

Boolean(String) – deprecated seit Java 9, für Removal markiert

@Deprecated(since = "9", forRemoval = true)
public Boolean(String s) { ... }

Begründung: Parser-Logik fehleranfällig; Alternative: Boolean.valueOf(String) oder Boolean.parseBoolean(String).

System.runFinalizersOnExit(boolean) – deprecated seit 1.2, forRemoval=true

@Deprecated(since = "1.2", forRemoval = true)
public static void runFinalizersOnExit(boolean value) { ... }

Gefährlich: Führt Finalizer in laufenden Threads aus → Deadlocks, Datenkorruption.

Eigene APIs annotieren – Best Practice

Javadoc-Darstellung

In generierter HTML5-Javadoc (Java 9+) erscheinen die Attribute prominent:

Migration

Bei Nutzung deprecated APIs mit forRemoval=true:

  1. Alternative API identifizieren (Javadoc prüfen).
  2. Code migrieren.
  3. Build mit -Xlint:removal prüfen.

Fazit

Die erweiterten Deprecation-Attribute schaffen Transparenz & Planbarkeit für API-Konsumenten und -Entwickler. Ein wichtiger Baustein für nachhaltige API-Evolution.

Java

  1. Java Operatoren meistern: Typen, Syntax und praktische Beispiele
  2. Java Kommentare: Typen, Verwendung und Best Practices
  3. Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
  4. Java Strings meistern: Erstellung, Methoden und Best Practices
  5. Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
  6. Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
  7. Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
  8. Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
  9. Java Annotation Types: Umfassender Leitfaden zu vordefinierten, benutzerdefinierten und Meta-Annotations
  10. Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität
Szenario Empfehlung
Bessere Alternative existiert, aber API bleibt @Deprecated(since = "X.Y") (forRemoval = false)
API ist fehlerhaft/unsicher & wird entfernt @Deprecated(since = "X.Y", forRemoval = true)
Internes API, nicht für externe Nutzung @Deprecated(forRemoval = true) + Package-Private / @Internal