Erklæring af et listefelt med det sidste nøgleord
Nej, det endelige søgeord gør ikke listen eller dens indhold uforanderligt. Hvis du ønsker en uforanderlig liste, skal du bruge:
List<Synapse> unmodifiableList = Collections.unmodifiableList(synapses);
Hvad det sidste søgeord gør, er at forhindre dig i at tildele en ny værdi til 'synapses'-variablen. Dvs., du kan ikke skrive:
final List<Synapse> synapses = createList();
synapses = createNewList();
Du kan dog skrive:
List<Synapse> synapses = createList();
synapses = createNewList();
I det væsentlige kan du stadig ændre, tilføje og fjerne indholdet af listen, men du kan ikke oprette en ny liste, der er tildelt variablen synapser.
final
forhindrer dig i at omtildele synapses
efter du har tildelt det én gang - kan du stadig tilføje/fjerne elementer, som du plejer. Du kan læse mere om final
søgeord her.
Du kan stadig ændre, tilføje og fjerne indholdet af listen, men du kan ikke oprette en ny liste, der er tildelt variablen.