An array access expression refers to a variable that is a component of an array.
ArrayAccess:
ExpressionName[
Expression]
PrimaryNoNewArray
[
Expression]
An array access expression contains two subexpressions, the array reference expression (before the left bracket) and the index expression (within the brackets). Note that the array reference expression may be a name or any primary expression that is not an array creation expression (§15.9).
The type of the array reference expression must be an array type (call it T[]
, an array whose components are of type T) or a compile-time error results. Then the type of the array access expression is T.
The index expression undergoes unary numeric promotion (§5.6.1); the promoted type must be int
.
The result of an array reference is a variable of type T, namely the variable within the array selected by the value of the index expression. This resulting variable, which is a component of the array, is never considered final
, even if the array reference was obtained from a final
variable.