Gibt es einen guten Grund Arrays in Java nicht Sammlung erweitern?Warum werden Arrays nicht als Subtyp von Collection betrachtet?
Es scheint, als wäre es nützlich, someObject instanceof Collection
testen zu können, bevor man es mit for (Object element : someObject)
durchläuft. Stattdessen von dem, was ich verstehe, zu wissen, der einzige Weg, wenn ein Objekt ein Array ist entweder instanceof
auf jedem Array-Typ zu verwenden (Object[]
, int[]
, double[]
, ...) oder someObject.getClass().isArray()
zu verwenden, aber dann ist dieser Kurs zwingt auch eine Nullprüfung
Kurze Antwort: Arrays Pre-Datum Sammlungen, durch eine lange Maßnahme. – vikingsteve
Fragen der Form _ "Warum haben die Sprachdesigner Entscheidungen getroffen?" _ Sind wirklich meinungsbasiert. Die einzigen konkreten Antworten finden sich in der Sprachspezifikation (wenn die Autoren ihre Wahl dargelegt haben) oder direkt bei den Designern. In diesem Fall war es wahrscheinlich ein Wunsch, bestehende Konzepte auf eine nicht überraschende Weise zu berücksichtigen. –
Was ist falsch bei einem Null-Check? Oder, noch besser, was ist falsch daran, 'someObject.getClass(). IsArray()' die 'NullPointerException' zu werfen? –