我是java的新手,无法知道枚举是否使最终变量过时了?
答案 0 :(得分:2)
枚举和最终变量无关。在枚举之前,人们不得不求助于常数,但它们并不等同。
答案 1 :(得分:1)
绝对不是。 Java中的最终变量不仅仅是常量。
正如您所看到的,final
关键字仍然有很多用途。
答案 2 :(得分:1)
我假设在这个问题中你问的是整数常量而不是任何其他类型?如果没有,请记住枚举只能是枚举(整数)而不能是特定类型。
否则......再次,它不会使它们过时。当只有(小)有限数量的可能性永远不会改变时,枚举是有用的。如果这些东西可以是无数个(或大量的)或者不是全部定义但有些可以是完全定义的,那就不那么有用了。
这实际上取决于使用情况。
答案 3 :(得分:0)
如果你的意思是public static final int
变量用作命名常量,那么是的,枚举是为了代替它们。
但是,最终变量在少数几个地区仍然有用 - 特别是使用闭包需要它们,例如
final int foo = 3; // must be marked final
t = new Thread(new Runnable() {
public static void run() {
System.out.println(foo + 1);
}
});
t.start();
此外,PSF变量仍然可用作配置常量。
答案 4 :(得分:0)
两者都有不同的应用。对于状态机或值不相关的地方,枚举更好。我有一组最终变量,在我的一个程序中同时作为值和状态指示器。最终变量仍然具有重要的应用,因为它们允许在整个程序中简单修改文字值。
/简而言之