私有最终哈希集如何工作?

How does a private final HashSet Work?

所以根据我对 final 的理解,你不能在之后改变变量的值。在 private final foo HashSet<>() = new HashSet<>() 的情况下,我可以将 foo 用作 HashSet 并编辑其中的值,但我不能重新分配 foo 对吗?

final 将阻止您为变量分配任何新值,但不会使您的对象不可变。

在你的例子中,

private final foo HashSet<String>() = new HashSet<>();
foo.put("bar");              // is correct
foo = new HashSet<>();       // will fail at compilation