Java 为另一个变量赋值时出现NullPointerException
我正在从Java 为另一个变量赋值时出现NullPointerException,java,spring-boot,variables,java-8,nullpointerexception,Java,Spring Boot,Variables,Java 8,Nullpointerexception,我正在从application.yml文件中读取一个值: 这是一个全局变量 @Value("${config.key}") public String variable; 对于我的用例,我需要将此变量的值转换为另一个全局变量: String secondVariable = variable; 日志显示键存储在变量中,但我将secondVariable的值分配给first,它给出null。 secondVariable需要是全局变量,因为我需要在调度程序运行时为其
application.yml
文件中读取一个值:
这是一个全局变量
@Value("${config.key}")
public String variable;
对于我的用例,我需要将此变量的值转换为另一个全局变量:
String secondVariable = variable;
日志显示键存储在变量中,但我将secondVariable的值分配给first,它给出null。
secondVariable
需要是全局变量,因为我需要在调度程序运行时为其分配一个更新的值。
实现这一点的正确方法是什么?在构造函数调用之后,Java初始化成员变量so
variable = null
String secondVariable = variable
secondVariable = null
如果使用spring,则在上下文初始化之后初始化变量
解决方案:
如果secondVariable的作用域与variable相同,则应使用相同的注释:
@Value("${config.key}")
public String secondVariable;
谢谢但实际上我想做的是在程序第一次运行时使用
变量
,然后在其余的执行过程中使用secondVariable
。仅当应用程序关闭并重新启动时,才再次使用该变量。我通过创建一个函数来解决这个问题,该函数将variable
和secondVariable
作为参数,并根据我的逻辑返回字符串。让生活更轻松。谢谢你的帮助!非常感谢。