foreach Upcasting

Vural

Neues Mitglied
Hallo Forum,

ich bin grad Neueinsteiger in Objektorientierter Programmierung.
Ich komme direkt zu meinem Problem.

Ich habe eine ArrayList in der alle Instanzen der Klasse Mannschaft gespeichert werden sollen.
Von der Klasse Mannschaft erben die Klassen Fussball- und Tennismannschaft. Ich will die ArrayList mit einer foreach Schleife durchlaufen.Beispiel:

for (Tennismannschaft t : NameDerArrayList)
{
Tu Dies;
}

Der Compiler meckert aber und sagt mir ich soll den Typ t in Mannschaft umwandeln. Warum?
Tennismannschaft erbt doch von Mannschaft ud ist gleichzusetzen mit Manschaft ? Wo liegt mein Fehler?

Danke im Voraus
 
Zuletzt bearbeitet von einem Moderator:
G

Gonzo17

Gast
Da in deiner Arraylist auch Fussballmannschaften sind, würde es da zu einem Fehler kommen. Denn eine Tennismannschaft ist ja keine Fussballmannschaft. Deswegen ist es ja auch eine Liste von Mannschaften. :)
Um das zu lösen müsstest du entweder getrennte Listen für Fussball und Tennis haben oder du kannst beispielsweise auch über alle Mannschaften iterieren (wie du es machen wolltest) und dann in der for-Schleife eine if-Abfrage machen, ob die Mannschaft denn auch eine Tennismannschaft ist und anschließend dann die gewünschten Aktionen ausführen.
 

Raziell

Bekanntes Mitglied
Du durchläufst ein Array mit unterschiedlichen Objekttypen die allerdings von einer gemeinsamen Oberklasse nämlich Mannschaft erben.
So wie du es jetzt schreibst müssen in der Liste Objekte vom Typ Tennismannschaft sein.
Stimmt aber nicht denn es sind Objekte vom Typ Tennismannschaft und Fußballmannschaft enthalten.
Allerdings kannst du garantieren, dass es sich bei dem Typ um eine Mannschaft handelt und genau das musst du machen.

Java:
for (Mannschaft mannschaft : mannschaften)
{
Tu Dies;
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
P Iterieren mit einer Foreach in Lambdaschreibweise und Counter. Java Basics - Anfänger-Themen 1
O Alternative zu Stream.forEach() Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
H Bei forEach Index des Elements ermitteln Java Basics - Anfänger-Themen 17
O BiPredicate in einer forEach Methode Java Basics - Anfänger-Themen 10
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
J Maximum herauskriegen mit foreach Java Basics - Anfänger-Themen 6
F ForEach Schleife Java Basics - Anfänger-Themen 1
B Key auslesen/ausgeben innerhalb von foreach() Java Basics - Anfänger-Themen 5
L Anonyme Methode in einer ForEach-Schleife Java Basics - Anfänger-Themen 2
S Array mit "foreach"-Schleife und nextInt (aus Scanner) beschreiben Java Basics - Anfänger-Themen 6
B Liste mit foreach-Schleife durchgehen Java Basics - Anfänger-Themen 4
S OOP Foreach für Objekte einer Klasse? Java Basics - Anfänger-Themen 3
T foreach schleife.... Java Basics - Anfänger-Themen 14
W OOP Fehler bei foreach Schleife Java Basics - Anfänger-Themen 8
H Foreach in Java eher unbrauchbar? Java Basics - Anfänger-Themen 8
F Datentypen PHP-Umsteiger vermisst foreach-Schleife Java Basics - Anfänger-Themen 4
H foreach-Schleifen Java Basics - Anfänger-Themen 7
1 Verständnisproblem mit Foreach Java Basics - Anfänger-Themen 4
E foreach schleife nur mit int-Array ? Java Basics - Anfänger-Themen 2
S Mit foreach Objekte entfernen. Java Basics - Anfänger-Themen 6
E foreach-Schleife unter Java 6 Java Basics - Anfänger-Themen 3
L Durchlauf einer Matrix mit foreach Java Basics - Anfänger-Themen 7
U JSTL: Collection auslesen mit forEach Java Basics - Anfänger-Themen 1
S Für Properties ein foreach? Java Basics - Anfänger-Themen 7
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben