咨询Java中与C++静态变量等效的关键字及递归场景实现
Java中与C++静态变量等效的关键字:
static Java里的static关键字就能实现你要的效果——在方法的多次递归调用中,变量保持同一个内存地址,值会被持续保留,不需要通过参数传递。
直接把你的示例代码修正为合法的Java写法即可:
static long sum(int n, long total) { static boolean exitConditionMet = false; if(n == 1) { exitConditionMet = true; return 1; } else { return total + sum(n-1, total); } }
需要注意的是,这种方法内的静态变量属于类级别的共享变量,所有调用该方法的线程都会共用这个变量,存在线程安全风险,使用时要根据场景做好同步处理。
内容的提问来源于stack exchange,提问作者Oleguito Swagbucks
相关产品推荐
相关产品推荐

