2008-10-17 3 views

Antwort

17

Es ist ein Int. Siehe die Java Language Specification, Abschnitt 10.7.

+0

Ich kann wirklich nichts sehen, das den Gebrauch von einem langen verbietet, zum Beispiel auf einer Plattform, wo das leistungsfähiger ist. Sie können es einfach nicht mit etwas Größerem als einem int indizieren. Es ist eine theoretische Diskussion an dieser Stelle. (Ja, ich habe das Beispiel gesehen, aber das ist nicht normativ). – extraneon

5

In Java Language spec, Arrays Sie in 10.4 sehen können:

Arrays indiziert werden müssen von int-Werten; Kurz-, Byte- oder Zeichenwerte können auch als Indexwerte verwendet werden, da sie einer unären numerischen -Heraufstufung unterliegen und int-Werte werden. Ein Versuch, auf ein Array zuzugreifen Komponente mit einem langen Indexwert führt zu einem Fehler bei der Kompilierung.

Ich konnte den Typ des Längenattributs nicht finden, aber es ist mindestens ein int; und wenn es lang ist, können Sie nicht auf Elemente jenseits der maximalen Integer-Länge zugreifen.

Also ich denke, es ist ein (endgültiger) Int.

0

In JavaCard-Array-Indizes sind Kurzschlüsse, aber JavaCard ist so seltsam. Überall sonst, so wie alle anderen auch.