Problem mit Java-Programm

Begonnen von Grammi, 09. April 2005, 12:52:26 Uhr

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Grammi

hallo,

ich habe ein problem mit einem java-programm. und zwar versuche ich elemente vom typ "object" in eine reihe vom typ "java.util.vector" zu schreiben. aber irgendwie will es nicht so richtig klappen obwohl ich nicht weiß warum nicht. ich nutze als plattform eclipse. an einer stelle wir mir immer ein fehler von eclipse gemeldet. und zwar folgender:

Type safety: The method addElement(Object) belongs to the raw type Vector. References to generic type Vector<E> should be parameterized.

hier nun mal ein ausschnitt aus meinen programm, wo der fehler auftaucht:

public class WarteReihe_Vector implements Warteschlange{

        public Vector reihe;
        public int zahl;

       //Konstruktor
   public WarteReihe_Vector(int anzahl){
      reihe = new Vector(anzahl);
      entleeren();
   }
   
   //Entleeren der Warteschlange
   public void entleeren(){
      reihe.removeAllElements();
      zahl = 0;
   }
   
   //Eintragen eines Elements in die Warteschlange
   public void eintragen(Object element) throws VollAusnahme{
      if (zahl == reihe.size()){
         throw new VollAusnahme(); //es wird eine Ausnahme ausgelöst, wenn Reihe voll ist
      }
      zahl++;
      reihe.addElement(element); //hier tritt der oben genannte Fehler auf, obwohl es eigentlich funktionieren sollte


vielleicht könnt ihr mir ja ein wenig weiterhelfen. ich wär euch echt sehr dankbar.
MfG Grammi

Gudi

Laß mich raten, das neue Java 1.5.0 und Eclipse 3.1 Milestone x, oder?
Du bist da auf die neuen "generics" gestoßen, eines der besten Features des neuen Java's. Leider habe ich auch noch keine praktische Erfahrung damit gemacht, aber versuch mal folgendes (falls das Problem noch aktuell ist):

statt "public Vector reihe;" schreibst du "public Vector<Object> reihe;" und im Konstruktor "reihe = new Vector<Object>(anzahl);". Dann sollte es gehen, würde ich mir so denken.
Aber Vorsicht: mit dem noch sehr verbreiteten Java 1.4.x funktioniert das nat. nicht. Ansonsten solltest du das Programm so lassen und in Eclipse ein wenig nach der entsprechenden Option suchen, die Java 1.5.0 Sprachfeatures abzuschalten. Kann mir gut vorstellen, dass das in den Projekt-Optionen zu finden ist.