gpt4 book ai didi

java - 为什么Java中没有局部静态变量?

转载 作者:IT老高 更新时间:2023-10-28 20:45:18 26 4
gpt4 key购买 nike

在 C/C++ 中,我们使用静态局部变量来维护方法的状态。但是为什么Java不支持呢?

是的,我可以为此目的使用静态字段。但是创建一个只维护一个方法状态的字段是不是有点奇怪?

最佳答案

你找到了唯一的解决办法。

Java 放弃了 C++ 的许多复杂性,这就是其中之一。

作用域为函数的静态变量在并发的情况下会对你做一些讨厌的事情(例如,strtok 是一个众所周知的讨厌的变量,与 pthread 一起使用,正是出于这个原因)。

一般来说,你想要的是一个有状态的对象。有问题的函数应该有一个对象级变量。然后,您可以创建每个都维护状态的实例。

更容易理解/维护/等等。

如果您确实需要将状态保持为单例,那么静态字段就是它。

关于java - 为什么Java中没有局部静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12274375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com