gpt4 book ai didi

java - 如果语句在 Android 应用程序中不起作用

转载 作者:行者123 更新时间:2023-12-02 02:38:33 25 4
gpt4 key购买 nike

我已经尝试了几乎所有我知道的方法来解决这个问题,但我还是没有弄清楚。下面是类中将返回线程名称的代码。现在,如果线程的名称与提供给此方法的名称匹配,那么它将返回该 ArrayList 的索引。问题是, boolean 值是 true,但它似乎从未进入 if 语句。只是围绕它移动并返回 ERROR_NOTFOUND 符号。这意味着程序会忽略 if 语句的内容并继续执行第二个返回,完全绕过命中第一个返回的机会。因此永远不会达到“return i;”....

我已经调试了很多次,但没有任何效果,几乎没有任何答案说明原因。随意运行任意代码并亲自尝试。我已经把这个项目完全剥离到这个,但仍然一无所获。然而应用我下面的答案是有效的。

我的想法是这与使用的关键字有关。另外,在我寻找答案的过程中,我还没有遇到任何有帮助的东西。因此,如果有答案,请告诉我,以便我能够提高我的搜索技巧。

    private static int searchThread(ArrayList<Thread> threads, String name) {
int i;
for (i = 0; i < threads.size(); i++) {
Thread thread = threads.get(i);
String temp = thread.getName();
Boolean bool = temp.equals(name);
if (bool) {
return i;
}
}
return ERROR_NOTFOUND;
}

编辑:为了进一步了解细节,我已经调试了这段代码。我也尝试过清理和重建,认为这就是问题所在,但都没有帮助。所以这是我的逻辑有问题,或者缺乏理解所使用的关键字、所使用的 UI 线程或其他我不知道的东西的真正影响。代码部分在 UI 线程上运行的任何方式都不是问题到目前为止? if 语句不会被忽略,“return i”被替换为“return 1”。然后它会成功返回1。

最佳答案

您所描述的情况是不可能的。

return i

表示必须返回某个数字。

有两种可能的解释:

1)您没有检查“bool”状态,它是错误的。

2)线程大小为零,因此程序不会进入循环

关于java - 如果语句在 Android 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45869744/

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