Vektor für z.B. doubles



  • Hallo,

    ich möchte gerne eine Vector Klasse für doubles haben. Allerdings scheinen Vectoren nur mit Objekten (also z.B. Doubles) umgehen zu können. Weiss jemand einen Ausweg?

    public class DoubleVektor {
    	private Vector vektor;
    
    	public DoubleVektor() {
    		vektor = new Vector();
    		vektor.clear();
    	}
    
    	public void add(double wert) {
    		vektor.add(wert);
    	}
    }
    

    Führt zu einer Fehlermeldung, da ein Vector angeblich keine einfachen Datentypen aufnehmen kann. Im Prinzip will ich nur sicherstellen, dass der Vector tatsächlich nur doubles enthält.



  • Nein, dafür gibt es keinen Weg. Du musst die Wrapper-Klasse Double verwenden.
    Zur Compile-Zeit sicherstellen, dass nur doubles eingefügt werden, kannst du erst ab Java 1.5. Da werden dann die doubles auch automatisch in Doubles eingepackt und entpackt (auto-boxing). 🙂



  • Danke. So hab ichs gerade auch gemacht:

    public void add(double wert) {
    	vektor.add(new Double(wert));
    }
    

    Scheint wohl momentan die einzig brauchbare Lösung zu sein...



  • Zieh dir doch das 1.5 SDK. Das läuft praktisch eh schon so stabil wie ein final release und dort hast du die Generics, die du so dringend brauchst. 🙂


Anmelden zum Antworten