У меня относительно простой вопрос относительно функции final
в Java. Когда я компилирую этот код:final int in Java
import java.util.*;
import java.lang.*;
import java.io.*;
class Arrays
{
public static void main (String[] args) throws java.lang.Exception
{
final int[] myArray = { 1,2 };
myArray[1] = 3;
System.out.println (myArray[1]);
}
}
число "3" печатается. Однако у меня создалось впечатление, что final
означает, что значения, хранящиеся в этом массиве (myArray), больше не могут меняться и постоянны.
Существует также еще один фрагмент кода здесь:
final int [] a1 = {1, 2};
int [] b1 = {3, 4};
a1 = b1; System.out.println (a1[1]);
Я считаю, что система должна печатать «2», так как a1
дорабатывается и значение в массиве является постоянным. Однако мой друг считает, что это должно быть «4». Пожалуйста, помогите мне разобраться в моем понимании final
.
возможно дубликат [конечного массива в Java] (http://stackoverflow.com/questions/10339930/final-array-in-java) – Joe