JavAlex Geschrieben 20. Mai 2009 Geschrieben 20. Mai 2009 Hey, ich muss bis nächste Woche ein kleines Java-Programm schreiben, hab es auch fast fertig, nur es tauchen noch folgende beiden Fehlermeldungen auf: Buckets.java:13: expected ArrayList > B = new ArrayList(); ^ Liste.java:11: expected ArrayList L = new ArrayList(); ^ 2 errors Die entsprechenden beiden Zeilen im Quelltext lauten: Buckets:13: ArrayList <ArrayList <Knoten>> B = new ArrayList(); Liste:11: ArrayList <Knoten> L = new ArrayList(); Ich kann absolut nicht verstehen, was an diesen beiden Zeilen falsch sein soll Es werden ja ganz normal zwei ArrayLists initialisiert. Und Elemente vom Typ Knoten sind durch die Klasse "Knoten.java" mit einen ganz normalen Konstruktor definiert. Wäre super, wenn mir jemand von euch helfen könnte. Vielen Dank schon mal! Zitieren
flashpixx Geschrieben 20. Mai 2009 Geschrieben 20. Mai 2009 ArrayList ist ein generischer Datentyp: ArrayList<myDatentyp> myList = new ArrayList<myDatentyp>(); Phil Zitieren
Dragon8 Geschrieben 20. Mai 2009 Geschrieben 20. Mai 2009 Also zum einen muss das doch eigentlich folgendermaßen lauten: Buckets:13: ArrayList<ArrayList<Knoten>> B = new ArrayList<ArrayList<Knoten>> (); Liste:11: ArrayList<Knoten> L = new ArrayList<Knoten>(); Und zum anderen, verwendest du auch wirklich mindestens Java 1.5? Zitieren
flashpixx Geschrieben 20. Mai 2009 Geschrieben 20. Mai 2009 Und zum anderen, verwendest du auch wirklich mindestens Java 1.5? Sind seit 1.2 enthalten: ArrayList (Java 2 Platform SE v1.4.2) Phil Zitieren
Dragon8 Geschrieben 20. Mai 2009 Geschrieben 20. Mai 2009 Mag ja sein dass es die ArrayList schon seit Java 1.2 gibt, trotzdem wurden die Generics erst mit Java 1.5 eingefügt.....das heißt, alles darunter versteht die Syntax nicht. Wobei ich aber nicht weiß wie die Fehlermeldung dann lautet. Ich denke aber mal, seine Fehlermeldung entsteht dadurch, dass er zu viele Leerzeichen gesetzt hat. Zitieren
JavAlex Geschrieben 21. Mai 2009 Autor Geschrieben 21. Mai 2009 Schon mal Danke für eure Antworten! Hmm... ja... ich benutzte Java 1.6. Hab's auch mal mit weniger Leerzeichen ausprobiert, aber dann kommt leider genau dieselbe Fehlermeldung. Zitieren
AniHH Geschrieben 21. Mai 2009 Geschrieben 21. Mai 2009 Hast du denn die Erklärungen gelesen? Es liegt nicht an Leerzeichen, sondern dass du die in der ArrayList gehalten Objekte rechts der Klammer nochmal spezifizieren musst: ArrayList<String> stringListe = new ArrayList[U]<String>[/U](); Zitieren
JavAlex Geschrieben 21. Mai 2009 Autor Geschrieben 21. Mai 2009 Jep, hab ich gelesen. Danke. Hab das auch mal ausprobiert, dass ich das rechts vom Gleichheitszeichen nochmal spezifiziere. Aber dann hab ich leider immer noch die beiden Fehlermeldungen und noch zwei zusätzliche Fehlermeldungen, weil noch zwei zusätzliche "<" und ">" auftauchen. Zitieren
flashpixx Geschrieben 21. Mai 2009 Geschrieben 21. Mai 2009 Poste einmal den original Code (etwas mehr schadet sicher nicht) + Fehlermeldung und die Java Version. Ich werde anhand Deiner Beschreibung nicht schlau. Phil Zitieren
baba007 Geschrieben 21. Mai 2009 Geschrieben 21. Mai 2009 Jep, hab ich gelesen. Danke. Hab das auch mal ausprobiert, dass ich das rechts vom Gleichheitszeichen nochmal spezifiziere. Aber dann hab ich leider immer noch die beiden Fehlermeldungen und noch zwei zusätzliche Fehlermeldungen, weil noch zwei zusätzliche "<" und ">" auftauchen. Entweder hast du irgendwo ein Semikolon vergessen oder du benutzt Java 1.4 Stell doch mal hier die Klasse mit der komischen ArrayList hin. Zitieren
JavAlex Geschrieben 21. Mai 2009 Autor Geschrieben 21. Mai 2009 Ist echt super, wie ihr euch alle bemüht. Danke! Also aktuell sieht der Code folgendermaßen aus: In Buckets.java steht: import java.util.*; public class Buckets implements Datenstruktur { ... //Deklarationen ... final ArrayList<ArrayList<Knoten>> B = new ArrayList<ArrayList<Knoten>>(); //Standardkonstruktor Buckets(){ } ... Und in Liste.java steht: import java.util.*; public class Liste implements Datenstruktur { //Deklarationen ... final ArrayList<Knoten> L = new ArrayList<Knoten>(); //Standardkonstruktor Liste(){ } ... Und die Fehlermeldung lautet folgendermaßen: Java/Buckets.java:13: expected final ArrayList> B = new ArrayList>(); ^ Java/Liste.java:11: expected final ArrayList L = new ArrayList(); ^ 2 errors Ich hab Java 6 (JRE 1.6.0_07) Zitieren
flashpixx Geschrieben 21. Mai 2009 Geschrieben 21. Mai 2009 Wie sieht die Klasse "Knoten" aus? Phil Zitieren
JavAlex Geschrieben 21. Mai 2009 Autor Geschrieben 21. Mai 2009 Knoten sieht so aus: public class Knoten { int knotennummer; ... //Standardkonstruktor public Knoten(){ } //Konstruktor, der die Knotennummer setzt public Knoten(int i){ this.knotennummer = i; } ... } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.