使用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