"Grundkurs Programmieren in Java - (8. Auflage, 2018)"
2001-2018, Carl Hanser Verlag
Lösungsvorschlag zu Aufgabe 4.2 (Version 3.0)
(c) 2001-2018 D. Ratz, D. Schulmeister-Zimolong, D. Seese, J. Wiesenberger
a)
Mit a == b vergleicht man nur die Referenzen. Sind
diese gleich, so kann man zwar schließen, daß die beiden Felder
identisch sind (tatsächlich handelt es sich ja nur um eines),
sind diese aber ungleich, so können die Feldinhalte dennoch gleich
sein.
Der erste Fall läßt sich wie folgt darstellen:
Der zweite Fall wäre dann:
b)
boolean felderSindGleich = true;
if (a.length != b.length)
felderSindGleich = false;
if (felderSindGleich) {
for (int i=0; i < a.length; i++) {
if (a[i] != b[i]) {
felderSindGleich = false;
break;
}
}
}
System.out.println("Die Felder sind gleich: " + felderSindGleich );