Java中的最终变量操作
任何人都可以告诉我在Java上下文中以下行的含义是什么:
除非变量是不可变的,否则仍然可以对其进行操作
据我所知,通过将任何变量声明为final,就无法再次对其进行更改,那么上一行中 一词的含义是什么?
回答:
这意味着,如果您的最终变量是引用类型(即不是像int这样的基元),则只有引用是不能更改的。不能使它引用不同的对象,但是如果类允许,它所引用的对象的字段仍可以更改。例如:
final StringBuffer s = new StringBuffer();
StringBuffer的内容仍然可以任意更改:
s.append("something");
但是你不能说:
s = null;
要么
s = anotherBuffer;
另一方面:
final String s = "";
字符串是不可变的-根本没有任何方法可以使您更改字符串(除非您使用Reflection-并下地狱)。
以上是 Java中的最终变量操作 的全部内容, 来源链接: utcz.com/qa/407497.html