gpt4 book ai didi

java - 声明后使静态属性不可变

转载 作者:行者123 更新时间:2023-11-29 07:14:58 24 4
gpt4 key购买 nike

当静态属性在构造函数中而不是在声明中定义时,我可以将其设为 final 吗?

我知道如何创建创建不可变实例的自定义类。但是是否有可能制作一些标准类的不可变对象(immutable对象)?例如对象、JPanel、日历或其他什么?

最佳答案

But is it possible to make immutable object of some standard class?

没有。 Java 中没有任何东西支持这一点。您所能做的就是限制引用的发布范围,并确保任何有权访问它的代码都不会改变它。您可以创建自己的包装器 类型,它只公开只读操作,当然可以自由公开。

编辑:如评论中所述,JDK 中对此有一些支持,用于集合 - 和 Guava为它们提供更彻底的不可变集合和构建器。但是,没有什么通用的东西可以获取任何可变类型的对象并返回它的不可变 View 。

关于java - 声明后使静态属性不可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com