在C / C ++中,我们使用静态局部变量来维护方法的状态。但是,为什么Java不支持它呢?
是的,我可以为此使用一个静态字段。但是创建一个仅维护一个方法状态的字段有点奇怪吗?
您已经找到了唯一的解决方案。
Java放弃了C ++的许多复杂性,这就是其中之一。
作用于函数的静态变量并发地对您造成麻烦(例如,正是出于这个原因,strtok是与pthread一起使用的著名的讨厌变量)。
通常,您想要的是带有状态的对象。然后,所讨论的函数应具有对象级变量。然后,您可以创建每个维护状态的实例。
更容易理解/维护/等等。
如果您确实需要将状态保持为单例,则可以使用静态字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句