使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
答:是指引用变量不能变。引用变量所指向的对象的内容还是可以变的。
例如,对于以下语句:
final StringBuffer a = new StringBuffer("immutable");
执行如下语句将报编译期错误:
a = new StringBuffer("");
但是,执行如下语句则可以通过编译:
a.appand("broken");
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
答:是指引用变量不能变。引用变量所指向的对象的内容还是可以变的。
例如,对于以下语句:
final StringBuffer a = new StringBuffer("immutable");
执行如下语句将报编译期错误:
a = new StringBuffer("");
a.appand("broken");