gpt4 book ai didi

Java String 不变性与 String 对象实例

转载 作者:行者123 更新时间:2023-12-02 06:08:44 25 4
gpt4 key购买 nike

在 Java 中 strings are special .

Since string literals with the same contents share storage in the common pool, Java's String is designed to be immutable. That is, once a String is constructed, its contents cannot be modified. Otherwise, the other String references sharing the same storage location will be affected by the change, which can be unpredictable and therefore is undesirable.

如果我在字符串上同步怎么办?我会锁定共享相同内容的所有 String 实例吗?

例如:我有一个多线程类,它从数据文件中读取和写入。每天有 1 个文件,我想同步对同一个文件的读取和写入,以防止不可预测的行为。我可以简单地同步文件名(字符串)吗?

最佳答案

您可以实习该字符串,但这对于下一个必须维护代码的人来说有点不透明。我建议您创建一个 File 对象或一个名为 fileLock 的单独对象(例如)以更清楚地表示意图。

关于Java String 不变性与 String 对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49708477/

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