Fragen und Antworten zu Blatt 4

JAR-Dateien in Eclipse einbinden

Frage:

Wie binde ich ein jar Datei unter Windows (mit Eclipse) ein? july

Antwort:

Unter "Properties" bzw. "Eigenschaften" für das Projekt wählt man "Java Build Path" (bzw. Java-Erstellungspfad) und darunter dann den "Reiter" "Libraries" (bzw. Bibliotheken) aus. Dort kann man dann mittels Click ;-) eine JAR-Datei hinzufügen.

Warnings mit -Xlint

Frage:

Wenn ich BFSDemo.java mit aktivierter Option -Xlint kompiliere ergibt das 20 Warnings - allesamt wegen unchecked Conversions. Ist das nur unschön, oder sollte man hinter den Konstruktor/Typecast jeweils das ganze "<...>" schreiben, was allerdings den Code ein wenig unleserlich macht?

Antwort:

Also die saubere Lösung ist es in der Tat, bei jedem Konstruktor-Aufruf die passenden Typparameter anzugeben (hierzu gibts ein Update von BFSDemo). Zusätzlich gibt es die Möglichkeit, für bestimmte Methoden diese Warnings abzustellen. Das funktioniert mit sog. Annotations, diese würden aber meiner Meinung nach den Umfang dieser (eher einführenden) Vorlesung sprengen.

Diese Warnings sind allerdings nicht nur unschön, sie weisen auch auf mögliche Probleme im Code hin. In java ist es möglich, die durch die Generics erreichte Typsicherheit auszuhebeln, und diese Warnungen weisen auf Code-Teile hin, die die Typsicherheit im Code brechen könnten.

Arbeiten mit JARs

Frage:

Wie werden die Klassen im jar-File im Sourcecode eingebunden?

Antwort:

Die Klassen werden ganz normal mit import eingebunden, wie die Klassen der Standard-Bibliothek.

Frage:

Wie wird die Klasse ReferenceParser benutzt?

Antwort:

Die Klasse nimmt in der Methode parse() eine Zeile (entspricht einem Datensatz) der Literaturdatenbank entgegen. Mit den Methoden getAuthors() und getTitle() können dann die Autoren und der Titel der Publikation abgefragt werden.

Fragen zu den Beispielen

Frage:

Wie funktionieren die Beispiele BFSDemo und Node?

Antwort:

Die Klasse Node ist eine Hilfsklasse für die Breitensuche und muss nicht verändert werden. Die Klasse BFSDemo enthält die Breitensuche. Zur Demonstration wird ein einfacher Graph aufgebaut, dessen Knoten Integer-Objekte enthalten. Diese Demonstration erinnert dann doch ein bischen an die gestellte Aufgabe.