在不使用final关键字的情况下使变量保持不变

时间:2017-06-05 11:26:40

标签: java

我在采访中遇到了这个问题,如何在java中使用final关键字使变量保持不变

2 个答案:

答案 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