gpt4 book ai didi

java - 如果 getter 返回可变对象的副本,是否需要在不可变类中设置最终实例变量

转载 作者:行者123 更新时间:2023-12-02 04:40:12 28 4
gpt4 key购买 nike

如果没有公共(public) setter 和私有(private)访问权限,在创建不可变类时是否需要将实例变量声明为 Final?

最佳答案

这不是必需的,因为如果不这样做,编译器将无法编译。但是如果变量是不可变的,添加final会让其他程序员(以及你自己,当你明天再次查看代码并想知道它时)清楚你的意图,可能会帮助编译器生成更高效的代码,并且会让编译器在以后提示您确实尝试更改变量,这当然可能会有所帮助,并且可能表明代码更改可能并不理想,并且您应该考虑替代解决方案。

关于java - 如果 getter 返回可变对象的副本,是否需要在不可变类中设置最终实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30277428/

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