我正在从文件中读取数据,并根据所读取的数据设置值。
我的问题是:如果我想将文件中检索到的某个值声明为常量,该怎么办?
编辑:为简单起见,假设该值为 "int" 类型。
我的问题是:如果我想将文件中检索到的某个值声明为常量,该怎么办?
编辑:为简单起见,假设该值为 "int" 类型。
不确定您希望为此变量设置什么作用域。就创建常量而言,"final" 关键字是您唯一可以使用的选项。定义一个基于运行时数据的 final 局部变量或实例变量很容易,但声明一个静态 final 类成员则更加困难;您必须在类被加载和初始化时立即提供该值,因此必须通过静态初始化块来完成:
public static final int CONSTANT;
static {
CONSTANT = <something!>;
}
public class PseudoConstant {
public static final int PSEUDO_CONSTANT;
private static final Random randomGen = new Random();
static {
PSEUDO_CONSTANT = generatePsudoConstant();
}
public static void main(String args[]) {
PseudoConstant instance1 = new PseudoConstant();
PseudoConstant instance2 = new PseudoConstant();
System.out.println("PSEUDO_CONSTANT (instance1) = " + instance1.PSEUDO_CONSTANT);
System.out.println("PSEUDO_CONSTANT (instance2) = " + instance2.PSEUDO_CONSTANT);
}
private static int generatePsudoConstant() {
return randomGen.nextInt(10);
}
}
干杯!
static final
字段。第二个选项可能是解决这个问题的方法。 - Matt Ball