HashMap object in java

senay

Mitglied
Hallo,

ich bin noch neu in Java. Beim Compilieren der source code kriege ich die Meldung, dass der Syntax von HashMap nur in Version 5 verfügbar ist. Ich arbeite mit Java 2 Platform, Enterprise Edition 1.4.

Der Code sieht wie folgt aus:

private HashMap<String,String> _sampleData = new HashMap<String,String>();

Muß ich dann unbedingt Java 2 Platform Enterprise edition 1.5 SDK installieren oder kann ich den Code umändern, so dass er auch für die Version 1.4 kompatibel ist?

Bitte um hilfe. Ich komme sonst nicht weiter.

Danke im voraus!
 
Die sog. generics..also typisierung des Inhalts <String,String> funktioniert erst ab Java 5

Wenn du es weg lässt, wird halt alles was du rein gibst oder raus bekommst als Object behandelt und muss ggf. gecastet (und vielleicht vorher getestet) werden.

P.S.: Unterstriche am Anfang eines Variablennamens ist gegen die Sun Namens Richtlinie.
 
Ich arbeite mit Eclipse 3.2.2 , Axis 1.4 und Tomcat 6. Wenn ich jetzt Java 5 installiere, muß ich auch an den anderen Tools dementsprechend Veränderungen vornehmen?
 
Hallo,

bei eclipse musst du nur den compiler umstellen. Das ist zu finden bei
Window -> Preferences -> Java -> Compiler. Da findest du dann das Compiler compliance level. Das musst du umstellen auf 5.0.

MFG

zEriX
 
Eclipse kannst/mußt die vorhanden JDKs in den Einstellungen mitteilen. Dann kannst Du je Projekt vorgeben, welches JDK für das Projekt verwendet werden soll.

Dem Tomcat mußt Du das zu verwendende JRE mitteilen (JAVA_HOME Umgebungsvariable). das kannst Du in tomcat/bin/setenv.[bat|sh] machen.

Axis kenn ich nicht. wird dort aber wohl wie bei Tomcat sein.

Du kannst auch System/Nutzer-weit die JAVA_HOME (und den Pfad) so einstellen, das er auf das 1.5er JDK zeigt.

Gruß
 
Danke für Eure Hilfe.
Eure Tips haben mir viel geholfen.

Ich habe noch im source code einen Fehler. Vielleicht könnt ihr mir weiterhelfen?

Es geht um die Fehlerbehandlung:
Code:
 private void printErrors(Error[] errors) {
    	
       if (errors == null || errors.length ==0) {
            debug("Error list is empty");
            return;
        }

        for (int i = 0; i < errors.length; i++) {
            Error error = errors[i];
            debug("ERROR " + error.getCode() + ": " + error.getMessage());
        }
    }

Der array Error[] wird nicht anerkannt. Ich kriege die Meldung, dass Error[] vieldeutig ist.

Was muß ich da genau ändern oder hinzugügen?

Bitte um Hilfe.
 
Im Moment kann ich in deinem Code keinen Fehler erkennen.
Welche Meldung bekommst du denn ganz genau?

MFG

zEriX
 
Ich kann mein Programm gar nicht compilieren.
Es wird nur im Code bei Error[] rot angezeigt.
Wenn mich mit der maus draufzeige, krige ich die Meldung:

The type Error is ambiguous

Ich kann die Methode printErrors nicht aufrufen.
 
ja es gibt noch eine zusätzliche Java-Klasse Error.java

Das ist im Library enthalten. Durch import habe ich diese library eingebunden in den source code.

Liegt es vielleicht daran?

Wie kann ich das dann beheben?
 
Zurück