【问题标题】:How does a private final HashSet Work? [duplicate]私有最终 HashSet 是如何工作的? [复制]
【发布时间】:2015-10-20 18:08:48
【问题描述】:

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

【问题讨论】:

    标签: java final


    【解决方案1】:

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

    在你的例子中,

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

    【讨论】:

      猜你喜欢
      • 2012-02-25
      • 2013-06-16
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2010-11-27
      • 2012-05-09
      • 2015-06-10
      相关资源
      最近更新 更多