Si dans une classe j'ai une instance ConcurrentHashMap qui sera modifiée et lue par plusieurs threads, je pourrais définir comme ceci :
public class My Class {
private volatile ConcurrentHashMap<String,String> myMap = new ConcurrentHashMap<String,String>();
...
}
l'ajout de final
au champ myMap entraîne une erreur indiquant que je ne peux utiliser que final ou volatile. Pourquoi ne peut-il pas être les deux ?