public class MyClass {
public void display(String s) {
final char c = s.charAt(0);
System.out.println(c);
if (s.length() > 1) {
display(s.substring(1));
}
}
public static void main(String[] args) {
MyClass mC = new MyClass();
mC.display("SampleString");
}
}
当我执行以下代码时,如何在递归调用显示时修改最终变量 c 的值。 Final 不应该限制用户这样做
最佳答案
您没有修改该变量,每次调用此方法都会获取该变量的一个新实例。如果您只需要一个实例,您可以将声明移动到类主体中并将其声明为“静态”。
关于java - 在Java中递归调用方法时如何修改final变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27285965/