我正在使用 Java 4;前段时间我遇到了一个在公共类中声明为的变量:
final private static Set name = new HashSet(){
{
add(object1);
...;
add(objectN);
}
};
在某些情况下,我需要在运行时向它添加(或删除)对象。
该类有一个公共构造函数,在我必须向所述 Set 添加或删除对象之前调用它。
我认为最终变量被视为常量,因此我无法在运行时对其调用 .add(object) 和 .remove(object) 方法。但我还是这样做了,我创建了两个公共方法来执行添加和删除操作,并且它有效。
为什么?我希望它要么不编译,要么在运行时抛出某种异常。
有人可以解释吗?
非常感谢,
此致