final
对象无法更改,但我们可以设置其属性:
final MyClass object = new MyClass();
object.setAttr("something"); //<-- OK
object = someOtherObject; //<-- NOT OK
是否可以对 a 做同样的事情final Integer
并改变它的int
值?
我问是因为我打电话给工人:
public SomeClass myFunction(final String val1, final Integer myInt) {
session.doWork(new Work() {
@Override
public void execute(...) {
//Use and change value of myInt here
//Using it requires it to be declared final (same reference)
}
}
我需要设置myInt
它里面的值。
我可以int
在另一个类中声明我的,这会起作用。但我想知道这是否有必要。