gpt4 book ai didi

java - 常量字符串在调用时发生变化

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:35 24 4
gpt4 key购买 nike

我为项目中的所有常量创建了一个 Konst 类。常量之一获取系统属性 user.home。当我在不同的类中调用常量时,它会产生与常量类中不同的结果。

public final class Konst {

public static final String SERVER = "Server";
public static final String LOGIN = "Login";
public static final String CHAT = "Chat";
public static final String PATH = System.getProperty("user.home");
}
public final class ConfigLoader {

private static final String CONFIG_PATH = Konst.PATH + "/Documents/config.xml";

private static final Logger LOG = ChatManager.getLogger();

private ConfigLoader() {
}

...
}

Konst 类中 PATH 的值 = C:\Users\myname

类 ConfigLoader 中 Konst.PATH 的值 = C:\Users\myname/Documents/Hausaufgaben/

CONFIG_PATH 的值 = C:\Users\myname/Documents/Hausaufgaben//Documents/Hausaufgaben/config.xml

我从未给常量分配任何其他内容(它甚至不应该可编辑),并且在整个项目中我没有出现“Documents”或“Hausaufgaben”一词。

最佳答案

看起来很奇怪,因为你所说的路径值是

The value of PATH in the class Konst = C:\Users\myname

CONFIG_PATH 的值为

C:\Users\myname/Documents/Hausaufgaben//Documents/Hausaufgaben/config.xml

它不应该改变 Konst.PATH 的值,除非你的 ConfigLoader 中的 Konst.PATH 是不同的类。

您可以为您的 Konst.PATH 添加一些常量字符串,并检查您的 CONFIG_PATH 是否基于该字符串进行更改。如果没有,那么它使用其他一些类。

public static final String PATH = "SOME/PATH/";

关于java - 常量字符串在调用时发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57489603/

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