gpt4 book ai didi

java - 字符串变量不起作用 - 但硬编码确实......(JAVA)

转载 作者:行者123 更新时间:2023-12-04 05:11:27 26 4
gpt4 key购买 nike

我在 Java 中有以下问题:

这可以正常工作:
xyz.setUserValue("ABC", "file_xyz.abc");
但这不会:

String test = "file_" + VariableXYZ.toLowerCase() + ".abc";
System.out.println(test);
xyz.setUserValue("ABC", test);

--> println(test) 的输出 ==> file_xyz.abc
奇怪的是它以前有效,但从一个时刻到另一个时刻它都没有。
Java错误? - 有什么想法吗?

先谢谢了!!

最佳答案

不,这不是 Java 错误。

不可能说到底是什么导致了这种情况,但它不可能是 Java 错误。

如果你更好地解释了上下文并向我们展示了 setUserValue 的代码方法,我们可能会提出合理的理论。 (SSCCE 是理想的,但我强烈怀疑您将无法编写一个可靠地演示问题的代码......)

好的,鉴于此:

public static String setUserValue(String key, String value) { 
String oldValue = getUserProperties().getProperty(key);
getUserProperties().setProperty(key, value);
return oldValue;
}

...然后假设“属性”对象是 Properties 的实例,最可能的解释是:
  • 某事导致 getUserProperties()在第一次和第二次调用中返回不同的对象,
  • 其他东西正在修改第一次和第二次调用之间的 Properties 对象,
  • Properties 对象以与您期望的不同的“ABC”值开始,或者
  • 其他东西正在将属性(property)改回其原始值(value);例如通过从源文件重新加载属性。

  • 或者也许有一个异常(exception),你没有告诉我们......或者已经压扁了。或者,您可能以错误的方式比较字符串(使用 == ),这让您/您的程序感到困惑。

    或者,您可能在构建和/或部署东西的方式上遇到了问题。

    关于java - 字符串变量不起作用 - 但硬编码确实......(JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14873543/

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