java - 为什么我的 For 循环中的 IF 语句永远不会满足其条件?

标签 java

<分区>

我已经尝试了所有方法,但我就是不明白为什么会遇到这个问题。这是我正在使用的代码:

        for( int i=0; i< objarray.size();i++)
        {
            //Toast shows values
            Toast.makeText(getApplicationContext(), goingToId+""+objarray.get(i).getid(),Toast.LENGTH_SHORT).show();

            if (goingToId == objarray.get(i).getid())
            {
                //This Toast NEVER shows
                Toast.makeText(getApplicationContext(), "Inside the if statement",Toast.LENGTH_SHORT).show();

                glat = objarray.get(i).getlat();
                glon = objarray.get(i).getlon();
                loc = new Location("dummyprovider");
                loc.setLatitude(glat);
                loc.setLongitude(glon);
            }   
        }

被比较的两个值都是字符串。在 for 循环中,这两个值在 toasts 中输出,我可以清楚地看到这两个值何时相同,但是 for 循环总是在没有进入 IF 语句的情况下完成,或者 IF 语句永远不会满足其条件,但我不不知道为什么。

我一直在用 C# 做这种事情,而且它总是有效,有人能看出为什么这在 Android 中不起作用吗?我知道我的帖子中没有太多信息可以继续,但是当我说它们的值在遍历 for 循环时最终匹配时,您可以相信我。任何建议将不胜感激,因为我一无所知。

最佳答案

删除 if 语句末尾的分号:

 if (goingToId.equals(objarray.get(i).getid()))

关于java - 为什么我的 For 循环中的 IF 语句永远不会满足其条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15412771/

相关文章:

java - 如何在 Ubuntu 和 Windows (Cygwin) 中使用的 bash 脚本中设置 Java 类路径

java - struts2 - 值无法在 s :action tag 的结果中返回

java - 如何以编程方式调用自定义导航器中节点上的 `Refresh` 功能?

java - 使用 Spring 框架清空邮件

java - 在java中使用xslt创建基于html的xml

java - 在 getter 链之后安全地调用 setter,例如 foo.getX().getY().setZ(...);

java - 尝试将可序列化对象写入文件时出现 NotSerializedException

java - 如何搜索其他网站的内容并检索结果并放置在我们的 Android 应用程序中?

java - 刷新文本时保持 EditorPane 中的先前位置

java - 为什么我的 oauth2 配置没有使用我的自定义 UserService?