gpt4 book ai didi

java - 找不到局部变量 'ac'

转载 作者:行者123 更新时间:2023-11-30 10:37:26 51 4
gpt4 key购买 nike

在我的代码下面但它不起作用 - 请参阅 this screenshot of the error during debugging ,

Cannot find local variable 'ac'

    AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
for (final Account ac : accounts)
{
String acname = ac.name;
System.out.println("Accounts : " + acname);

}

最佳答案

从您的屏幕截图中,我看到您正在使用 Android Studio 并且您的代码没有问题,而是一些调试设置。如果您打开 Android Studio 首选项并转到 Build, Execution, Deployment > Debugger > Data Views 您可能会看到选项 Enable auto expressions in Variables view 被勾选,因为它默认被勾选。它应该看起来像这样:Android Studio Preferences现在,如果您检查 IntelliJ docs为此你会发现这个(注意 IntelliJAndroid Studio 在同一个引擎上运行,以防你想知道为什么我说 IntelliJ文档):

Select this option if you want the IntelliJ IDEA debugger to automatically evaluate expressions and show the corresponding values in the Variables pane of the Debug tool window.

The debugger analyzes the context near the breakpoint (the current statement, one statement before, and one after). It does so to find various expressions in the source code (if available) such as, for example, myvar.myfield.

If such expressions don't contain explicit method invocations, the debugger evaluates them and shows the corresponding values in the Variables view.

基本上,他们是说 IDE 将检查断点周围的代码以识别变量并计算它们的值(不包括方法调用)。也就是说,当控件到达声明 accounts 变量 的行时,IDE 将检查代码中的变量并找到 ac 变量,但无法计算它的值,因为在执行点尚未声明该变量,因此整个操作将以无法找到该变量的消息结束。
要解决此问题,您必须从设置中取消选中该选项,或者您可以像这样保留它,因为它不会影响您的代码(它现在功能齐全)。

关于java - 找不到局部变量 'ac',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40123024/

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