gpt4 book ai didi

java - 不可变字符串和final关键字

转载 作者:行者123 更新时间:2023-12-01 06:33:27 24 4
gpt4 key购买 nike

我通常将全局编译时变量(例如我使用的常量,如阿伏加德罗数或其他)放入公共(public)静态最终变量中。然而,我从未考虑过这是否真的对字符串有任何作用。既然 String 已经是不可变的,那么将它设为 Final 有什么意义吗?

这是一个理论问题,而不是一个实际问题。

最佳答案

final与不可变不同。 final意味着处理程序(变量)不能指向另一个对象。不可变意味着对象不能改变其内部状态。

  • static final Foo foo = new Foo(1)意味着您以后不能拥有 foo = new Foo(2)
  • 如果 Foo是不可变的,这意味着一旦创建它,​​就无法更改其字段。例如。你不能拥有Foo foo = new Foo(1); foo.setValue(3);

关于java - 不可变字符串和final关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197598/

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