使用final关键字声明List字段
如果我在一个类中有以下声明,其中Synapse是抽象类型:
private final List<Synapse> synapses;是否final能让我仍然能够更改中的Synapse对象的状态List,但阻止我将新Synapse对象添加到列表中?如果我写错了,请您解释一下final正在做什么以及何时应该使用关键字final。
回答:
不,final关键字不会使列表或其内容不可变。如果您想要一个不可变的列表,则应使用:
List<Synapse> unmodifiableList = Collections.unmodifiableList(synapses);final关键字的作用是防止您为’synapses’变量分配新值。即,您不能写:
final List<Synapse> synapses = createList();synapses = createNewList();
但是,您可以编写:
List<Synapse> synapses = createList();synapses = createNewList();
以上是 使用final关键字声明List字段 的全部内容, 来源链接: utcz.com/qa/431204.html
