我已经尝试了一切,但我不明白为什么会遇到这个问题。这是我正在使用的代码:
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循环中,两个值以toast的形式输出,我可以清楚地看到两者何时是相同的值,但是for循环总是在没有进入IF语句的情况下完成,或者IF语句永远不满足它的条件,但我不不知道为什么。
我一直在 C# 中做这种事情,而且它总是有效,谁能明白为什么这在 Android 中不起作用?我知道在我的帖子中没有太多信息可以继续,但是当我说它们的值在遍历 for 循环时最终匹配时,你可以相信我。任何建议将不胜感激,因为我一无所知。