我想将一个final变量初始化为一个函数

Ark*_*jee 1 java final

程序代码:

public class A{
   public static final String l;

   public void method(String strTestData){
     l = strTestData;
   }
}
Run Code Online (Sandbox Code Playgroud)

strTestData将包含"public static final java.lang.String DELETE"之类的数据.可能吗?

Dun*_*nes 8

这是不可能的.

如果声明一个static final字段,则必须在静态inializer中或在声明点初始化它.您以后不能修改该值.例如:

public static final String l = "Foo";
Run Code Online (Sandbox Code Playgroud)

要么

public static final String l;

static {
  l = "Bar";
}
Run Code Online (Sandbox Code Playgroud)

也许你应该删除final修饰符?