Ab dem Release 3.7.1 umfasst Eclipse die volle Unterstützung für die neuen Java-Sprachenfunktionen von Java SE 7. Eine der wichtigsten Konsequenzen dieser Unterstützung besteht darin, dass sie vollkommen transparent abläuft. Alle Funktionen, die in Java 6 problemlos funktionierten (einschließlich Bearbeiten, Kompilieren, Debug, Schnellkorrekturen, Refactoring, Quellenaktionen, Suchen usw.), können mit der neuen Syntax von Java 7 reibungslos weiterverwendet werden. In diesem Dokument stellen wir Ihnen einige der interessanteren Funktionen vor, auf die Benutzer von Eclipse treffen, wenn sie mit Java 7 arbeiten.
Beachten Sie, dass beide Versionsnummern ('1.7' und '7') zur Identifizierung des Release der Standard Edition der Java-Plattform verwendet werden. Version '7' ist die Produktversion, während Version '1.7' die Entwicklerversion ist und auch für die Compiler-Konformitätsstufe verwendet wird.
Um mit Java 7 konformen Code zu entwickeln, benötigen Sie eine Java 7-Java Runtime Environment (JRE).
Wenn Sie Eclipse zum ersten Mal mit einer Java 7-JRE starten, wird diese JRE in Zukunft standardmäßig verwendet.
Andernfalls müssen Sie die Benutzervorgabenseite
Java > Installierte JREs verwenden, um sie mit Eclipse zu registrieren.
Sie können auch eine Java 7-Ausführungsumgebung konfigurieren. Verwenden Sie hierzu die Benutzervorgabenseite
Java > Installierte JREs > Ausführungsumgebungen:
Um ein vorhandenes Java-Projekt in Java 7 zu konvertieren, müssen Sie die Eigenschaften der JRE-Systembibliothek öffnen und dann die Ausführungsumgebung: JavaSE-1.7 auswählen.
Die Beschreibung der API für die Ausführungsumgebung von Java 7 steht über die entsprechende Update-Site zur Verfügung. Nach der Installation können Sie ungültige Verweise auf Java 7-Systembibliotheken feststellen.
Java 7 wird mit einer Gruppe kleiner Verbesserungen für die Java-Sprache (unter dem Namen 'Project Coin'), einem neuen Bytecode zum dynamischen Aufruf von Methoden und vielen Zusätzen zu den Bibliotheken ausgeliefert. Dieses Dokument stellt einige der neuen Sprachenfunktionen in Java 7 kurz vor, es handelt sich dabei aber nicht um ein vollwertiges Lernprogramm für diese Funktionen. Weitere Informationen finden Sie hier.
try
-with-resources-AnweisungDiese Sprachenänderung ermöglicht es Ihnen, die explizite Angabe von Typargumenten für Konstruktoren für parametrisierte Klassen in vielen Situationen zu übergehen. Der Compiler leitet die übergangenen Typargumente auf der Basis des erwarteten Typs ab.
Wenn möglich, fügt die Inhaltshilfe für Konstruktoraufrufe eine Raute anstelle eines expliziten Typarguments ein.
Der Compiler kann auch die redundante Spezifikation von Typargumenten erkennen, die über die Schnellkorrektur Typargumente entfernen entfernt werden kann.
Diese Option ist standardmäßig inaktiviert, kann jedoch auf der Benutzervorgabenseite
Java > Compiler > Fehler/Warnungen aktiviert werden:
Zusätzlich können Sie für eine Raute über eine Schnellunterstützung abgeleitete Typargumente einfügen.
Hinweis: Dies funktioniert auch als Schnellkorrektur in 1.5- und 1.6-Code, wo die Raute ein Syntaxfehler ist.
In Java 7 können Sie mehrere Ausnahmebedingungstypen mit einem einzigen catch-Block abfangen.
Vorkommen markieren kann im Java-Editor verwendet werden, um Anweisungen hervorzuheben, die eine bestimmte Ausnahmebedingung auslösen.
Die Aktion Quelle > Umgeben mit > try/multi-catch-Block ermöglicht Ihnen die Einbettung ausgewählter Anweisungen mit einem try/multi-catch-Block. Dies ist auch als Schnellkorrektur In try/multi-catch einbetten verfügbar, wenn mehrere nicht abgefangene Ausnahmebedingungen vorhanden sind.
Die Schnellkorrektur Ausnahmebedingungen zu vorhandener catch-Klausel hinzufügen ermöglicht Ihnen das Hinzufügen nicht abgefangener Ausnahmebedingungen zu einer vorhandenen catch-Klausel.
Die Schnellunterstützung Separate catch-Blöcke verwenden ermöglicht es Ihnen, eine multi-catch-Klausel durch einzelne catch-Blöcke zu ersetzen, und zwar einen für jede Ausnahmebedingung in der multi-catch-Klausel.
Die Schnellunterstützung Ausnahmebedingungen nach separatem catch-Block versetzen ermöglicht es Ihnen, eine oder mehrere ausgewählte Ausnahmebedingungen aus einer multi-catch-Klausel auszuwählen.
Die Schnellunterstützung catch-Blöcke kombinieren ermöglicht es Ihnen, separate catch-Blöcke in einem einzigen multi-catch-Block zu kombinieren. Die Schnellunterstützung wird nur dann angeboten, wenn die Hauptteile aller catch-Blöcke identisch sind.
Der Compiler gibt einen Fehler aus, wenn eine Ausnahmebedingung in einer multi-catch-Klausel bereits durch eine andere Ausnahmebedingung abgefangen wurde. Die Schnellkorrektur Ausnahmebedingung entfernen ermöglicht es Ihnen, diese Ausnahmebedingung zu entfernen.
Außerdem gibt es Zeilenumbruchoptionen im Formatierungsprogramm für die multi-catch-Syntax.
Diese Optionen können auf der Benutzervorgabenseite
Java > Codedarstellung > Formatierungsprogramm unter Zeilenumbruch > Anweisungen > 'multi-catch' konfiguriert werden.
Die try
-with-resources-Anweisung stellt sicher, dass jede Ressource (java.lang.AutoCloseable
) am Ende der Anweisung geschlossen wird.
Vorkommen markieren im Java-Editor kann die try
-with-resources-Syntax verarbeiten.
Das schließende '}' einer try
-with-resources-Anweisung ist als Methodenaustrittpunkt markiert, wenn der implizite close()
-Aufruf
eine Ausnahmebedingung auslöst. Die entsprechende Ressourcenvariable ist ebenfalls hervorgehoben.
Der Compiler erkennt nicht behandelte Ausnahmebedingungen, die durch den automatischem Aufruf von close()
für eine Ressource ausgelöst werden.
Der Compiler kann die Verwendung der try
-with-resources-Anweisung vorschlagen, wenn die Ressourcen explizit geschlossen, jedoch nicht in den try
-with-resources-Anweisungen deklariert wurden.
Diese Option ist standardmäßig inaktiviert, kann jedoch auf der Benutzervorgabenseite
Java > Compiler > Fehler/Warnungen aktiviert werden:
Außerdem gibt es im Formatierungsprogramm Zeilenumbruch- und Leerzeichenoptionen für die try
-with-resources-Syntax.
Diese Optionen können auf der Benutzervorgabenseite
Java > Codedarstellung > Formatierungsprogramm unter Zeilenumbruch > Anweisungen > 'try-with-resources' und Leerzeichen > Steueranweisungen > 'try-with-resources' konfiguriert werden.
Der Java 7-Compiler generiert eine Warnung auf der Deklarationssite einer varargs-Methode oder eines Konstruktors mit einem formalen nicht-reifizierbaren varargs-Parameter. Diese Warnung kann mit der Anmerkung @SafeVarargs unterdrückt werden.
Die Schnellkorrektur @SafeVarargs hinzufügen kann für Warnungen zu potenzieller Heap-Pollution bei Methodendeklarationen verwendet werden.
Diese Schnellkorrektur wird auch über Aufrufsites angeboten.
Die Schnellkorrektur @SafeVarargs entfernen wird für die falsche Verwendung der Anmerkung @SafeVarargs angeboten.
Sie können ein String-Objekt in dem Ausdruck einer switch-Anweisung benutzen.
Die Schnellunterstützung 'switch' in 'if-else' konvertieren kann für Zeichenfolgen in einem Switch verwendet werden.
Beachten Sie, dass die Schnellunterstützung eine NullPointerException im resultierenden Code vermeidet.
In Java 7 können die Integraltypen (byte, short, int und long) auch mithilfe eines Binärzahlsystems ausgedrückt werden. Zusätzlich kann eine beliebige Anzahl von Unterstreichungszeichen (_) an beliebiger Stelle zwischen den Ziffern in einem numerischen Literal angegeben werden.
Die Funktion zum Ändern des Werts einer Variablen während des Debuggings unterstützt Unterstreichungszeichen in numerischen Literalen und Binärliteralen:
Javadoc-Kurzinfos für Verweise auf polymorphe Methoden zeigen die tatsächlich verwendete Methodensignatur.