我在采访中遇到了这个问题,如何在java中使用final关键字使变量保持不变
答案 0 :(得分:3)
我怀疑他们正在寻找答案"在界面中声明你的变量"。根据Java语言规范,接口中声明的所有变量都是隐式静态的和final:
interface Foo {
int BAR = 100;
}
class Test {
public static void main (String[] args) throws java.lang.Exception
{
System.out.println(Foo.BAR);
}
}
答案 1 :(得分:0)
你可以强制这样的变量有效地最终。例如,在流中使用它。
int a = 1;
Stream.of(1, 2, 3, 4, 5).map(e -> e + a).forEach(System.out::println);
a = 12; // this line leads to a compile error