gpt4 book ai didi

java - Java 中除了字符串还有不可变对象(immutable对象)吗?

转载 作者:行者123 更新时间:2023-11-27 23:17:46 24 4
gpt4 key购买 nike

我只听说Java中的字符串不能不可变,我想知道除了字符串之外还有其他对象也是不可变的吗?

附带说明一下,C++ 中的字符串也是不可变的吗?

最佳答案

许多基本类型是不可变的(Integer、Long、Boolean 等)。不变性不是 java 中明确指出的东西,它实际上是一种语义契约。您可以通过将其成员声明为 final、在构造时分配它们并通过类的公共(public)接口(interface)锁定访问权限来使任何类不可变。

C++ 中的字符串是以零字符结尾的字符数组。就是这样。尽管使用 const 可以帮助锁定访问权限,但这并没有保证不变性。

我想重点是 Java 中的许多东西是不可变的,但只有文档和源代码才能真正向您证明这一点。

关于java - Java 中除了字符串还有不可变对象(immutable对象)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375567/

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