2017-01-19 3 views
0

Hallo Kolleginnen und Programmierer,Casting (?) Ein bekanntes Super Objekt zu einer unbekannten Unterklasse Referenz

Ich arbeite an einem Java-Projekt jetzt und ich versuche, eine bekannte Super eine unbekannte Unterklasse zu werfen.

Hier ist der Code:

public void getShirtType(Person person) { 

    Clothing article; // Clothing is a superclass of different subclasses of Clothing 

    for(Clothing clothing : person.getClothing()) { // person.getClothing() returns List<Clothing> 

     if(clothing.hasSleeves()) { // hasSleeves() is boolean 

      article = ???; 
      break; 

     } 

    } 
} 

Dieser Code wird die erste Instanz ein Kleidungsstück mit Ärmeln und dann endet die Schleife.

Ich weiß nicht, was ich an der Stelle der Fragezeichen setzen soll. Normalerweise könnte ich einfach etwas wie article = (SleevedShirt) clothing; haben, aber es gibt verschiedene andere Unterklassen neben SleevedShirt, die dort in die Klammern gehen könnten.

Lassen Sie mich wissen, was Sie denken.

Auch bin ich meist ein Anfänger, also würde ich nichts dagegen haben, konstruktive Kritik an meinem Code, wenn Sie bereit waren, es anzubieten.

+1

Wie wäre es mit 'article = clothing;', da 'article' auch ein Typ' Clothing' ist? Kein Gips benötigt. – Andreas

+0

So einfach ist das? Okay, ich werde es versuchen. Vielen Dank. –

Antwort

0

Keine Notwendigkeit für die Besetzung zu (SleevedShirt) als

article = clothing; 

sollte ausreichen.

+0

Danke für die Info. –

Verwandte Themen