- Die Verwendung von Listen setzt generische Typen voraus, was wiederum zum Unterschied zwischen Werttyp und Objekttyp führt, weil es den Typ "ArrayList<int>" nicht gibt.
- Die Verwendung von Zeichenketten führt ebenfalls zum Unterschied zwischen Werttyp und Objekttyp bzw. zum Unterschied zwischen Referenz und Objektwert, da man Zeichenketten nicht mit == auf Wertgleichheit prüfen kann.
- Die Verwendung von Zeichenketten führt irgendwann auch zur Thematik impliziter Typkonvertierungen, weil einzelne Zeichen in Java implizit in "int" umgewandelt werden, weswegen man einzelne Zeichen anders behandeln muss als Zeichenketten, vgl:
Code: Alles auswählen
Integer.valueOf("10".charAt(0)) * 10; Integer.valueOf("10".substring(0,1)) * 10;
Die Qualität des Unterrichts hängt ohne Zweifel sehr an den Fähigkeiten des Lehrers, doch nicht minder hängt sie auch an der Angemessenheit des Stoffs. Es ist meines Erachtens nicht angemessen, Anfängern Fehler erklären zu müssen, die aus den oben beschriebenen Eigenheiten der Sprache resultieren.
In anderen Fächern zäumt man den Gaul ja auch nicht von hinten auf. In Mathematik sind Vektoren am Anfang nur Koordinaten aus dem zweidimensionalen kartesischen Koordinatensystem, und keine speziellen Matrizen in n-dimensionalen Vektorräumen. In Biologie sind Gene auch erstmal nur "Merkmale" und keine Codon-Sequenzen zur Proteinbiosynthese. Da sollten Zeichenketten im Informatik auch erstmal nur "Werte" sein, und Listen erstmal einfach nur Objekte, in denen man andere Objekte ablegen kann. Java macht diese künstliche, aber notwendige Vereinfachung mehr als schwer.