Typabweichung

  • Themenstarter Themenstarter Christian11
  • Beginndatum Beginndatum
C

Christian11

Hi!
Leider stosse ich auf ein Problem, welches Eclipse als Typabweichung bezeichnet.
Da ich in einem Array -Autohaus- bereits bestehende Werte habe in der Reihenfolge xyz habe, möchte ich diese einfach nur Aufnehmen und umsortieren. xzy bspw.

Dazu habe ich folgenden Code geschrieben:
Java:
    	Autohaus[] neueautos = new Autohaus [alteautos.length]; //Erzeuge neues Objekt mit Länge von Quellarray
    	
    	for (int i=0; i < neueautos .length; i++){
    		neueautos[i] = alteautos[i].getFarbe() + "\t" + alteautos[i].getModell() + "\t" + alteautos[i].getHersteller();
    	}

Die Methoden getFarbe(), getModell(), getHersteller() geben mir den Wert aus dem alten Array, so das ich dann neu anordnen kann.

Java:
    public String getFarbe() {
    	return farbe;
    }
    
    public String getModell() {
        return modell;
    }
    
    public String getHersteller() {
        return hersteller;
    }

Im ersten Code bekomme ich jedoch einen Fehler in der 4. Zeile: Typabweichung, Kovertierung von String auf Autohaus nicht möglich.

Wie kann ich dieses Problem beheben ?
Danke euch!
 
Der Fehler sagt es doch schon?

Du versuchst dem Autohaus-Array Strings zuzuweisen.
In ein Autohausarrays gehören eben nur Autohäuser
 
Danke für Deine Antwort.
Evtl. kannst Du mir in diesem Bezug helfen, ich schreibe ja hier rein da ich merklich ein Anfänger bin ;).

LG
Christian11
 
Yap:

Java:
class Autohaus{
    String farbe;
    String modell;
    String hersteller;
    
    Autohaus(String farbe, String modell, String hersteller) {
        this.name = farbe;
        this.account = modell;
        this.group = hersteller;
    }
    
    public String toString() {
        return hersteller + "," + modell + "," + farbe;
    }

Java:
static Autohaus[] autos= {
        new Autohaus("BMW", "320", "Schwarz", "Leder"),
        new Autohaus("Mercedes", "E", "Silber", "Leder"),
        new Autohaus("Nissan", "Primera", "Silber", "Automatik"),
        new Autohaus("Toyota", "350Z", "Schwarz", "Leder"),
        new Autohaus("Ford", "CMax", "Schwarz", "Automatik", "")
};
 
Der Konstruktor sollte wohl eher so ausschauen?

Java:
Autohaus(String a, String b, String c)
{
    this.farbe = a;
    this.modell = b;
    this.hersteller = c;
}

Und die Zuweisung wäre wenn schon so besser:
Java:
neueautos[i] = new Autohaus(alteautos[i].getFarbe(),alteautos[i].getModell(),alteautos[i].getHersteller());
 
Das ist die Lösung für mein Problem!
Ich danke Dir für Deine Zeit. :)
 
Zurück