gpt4 book ai didi

java - 如何更改内部类中局部变量的值?

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:19 25 4
gpt4 key购买 nike

我刚刚了解到我不能在匿名内部类中使用非最终局部变量,那么当我们需要在内部类中更改值而不声明即时变量时,有什么棘手的方法吗?

最佳答案

您不能使用它们是有充分理由的,您需要在继续之前考虑这一点。您将如何处理匿名类的实例?如果它仅在本地使用,在该方法的范围内,那么您可以使用这个简单的技巧(假设您有一个 int var):

final int localVar[] = {1};
new AnonymousClass() {
public void method() { localVar[0]++; }
};

如果实例在创建它的方法返回后可以访问,那么您可能会遇到线程安全问题。该实例可能会传递给其他线程,上面的简单设计不是线程安全的。

关于java - 如何更改内部类中局部变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27061389/

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